diff --git a/src/js/game/components/item_acceptor.js b/src/js/game/components/item_acceptor.js index 60c78e86..d015e5cf 100644 --- a/src/js/game/components/item_acceptor.js +++ b/src/js/game/components/item_acceptor.js @@ -186,7 +186,7 @@ export class ItemAcceptorComponent extends Component { return true; } default: { - assertAlways(false, "Input requirement is not recognised: " + slot.filter); + assertAlways(false, "Input requirement is not recognised: " + this.inputRequirement); break; } } diff --git a/src/js/game/components/storage.js b/src/js/game/components/storage.js index 9b48877a..905fd71f 100644 --- a/src/js/game/components/storage.js +++ b/src/js/game/components/storage.js @@ -40,25 +40,6 @@ export class StorageComponent extends Component { this.overlayOpacity = 0; } - /** - * Returns whether this storage can accept the item - * @param {BaseItem} item - */ - tryAcceptItem(item) { - if (this.storedCount >= this.maximumStorage) { - return false; - } - const itemType = item.getItemType(); - if (this.storedCount > 0 && this.storedItem && itemType !== this.storedItem.getItemType()) { - return false; - } - - this.storedItem = item; - this.storedCount++; - - return true; - } - /** * Returns whether the storage is full * @returns {boolean} diff --git a/src/js/game/systems/item_processor.js b/src/js/game/systems/item_processor.js index 774cfdcc..1790525c 100644 --- a/src/js/game/systems/item_processor.js +++ b/src/js/game/systems/item_processor.js @@ -106,6 +106,18 @@ export class ItemProcessorSystem extends GameSystemWithFilter { } processorComp.currentCharge = null; + + // now that the charge is complete, empty the inputs now + let usedSlots = []; + const acceptorComp = entity.components.ItemAcceptor; + for (let i = 0; i < acceptorComp.completedInputs.length; i++) { + const index = acceptorComp.completedInputs[i].slotIndex; + if (!usedSlots.includes(index)) { + usedSlots.push(index); + acceptorComp.completedInputs.splice(i, 1); + i--; + } + } } } @@ -256,8 +268,8 @@ export class ItemProcessorSystem extends GameSystemWithFilter { if (!items.get(input.slotIndex)) { items.set(input.slotIndex, input.item); extraProgress = Math.max(extraProgress, input.extraProgress); - inputs.splice(i, 1); - i--; + //inputs.splice(i, 1); + //i--; } }