diff --git a/src/js/game/buildings/advanced_processor.js b/src/js/game/buildings/advanced_processor.js index c1d73827..049883d1 100644 --- a/src/js/game/buildings/advanced_processor.js +++ b/src/js/game/buildings/advanced_processor.js @@ -95,6 +95,7 @@ export class MetaAdvancedProcessorBuilding extends MetaBuilding { pos: new Vector(0, 1), directions: [enumDirection.left], filter: enumItemType.shape, + processor: "ItemProcessor", }, { diff --git a/src/js/game/buildings/cutter.js b/src/js/game/buildings/cutter.js index bfe142d5..2b84ace4 100644 --- a/src/js/game/buildings/cutter.js +++ b/src/js/game/buildings/cutter.js @@ -83,6 +83,7 @@ export class MetaCutterBuilding extends MetaBuilding { pos: new Vector(0, 0), directions: [enumDirection.bottom], filter: enumItemType.shape, + processor: "ItemProcessor", }, ], }) diff --git a/src/js/game/buildings/energy_generator.js b/src/js/game/buildings/energy_generator.js index 03944944..9cb6f2a9 100644 --- a/src/js/game/buildings/energy_generator.js +++ b/src/js/game/buildings/energy_generator.js @@ -55,11 +55,13 @@ export class MetaEnergyGenerator extends MetaBuilding { pos: new Vector(0, 1), directions: [enumDirection.bottom], filter: enumItemType.shape, + processor: "EnergyGenerator", }, { pos: new Vector(1, 1), directions: [enumDirection.bottom], filter: enumItemType.shape, + processor: "EnergyGenerator", }, { pos: new Vector(1, 0), diff --git a/src/js/game/buildings/hub.js b/src/js/game/buildings/hub.js index 61a61f27..a293166b 100644 --- a/src/js/game/buildings/hub.js +++ b/src/js/game/buildings/hub.js @@ -52,71 +52,85 @@ export class MetaHubBuilding extends MetaBuilding { pos: new Vector(0, 0), directions: [enumDirection.top, enumDirection.left], filter: enumItemType.shape, + processor: "ItemProcessor", }, { pos: new Vector(1, 0), directions: [enumDirection.top], filter: enumItemType.shape, + processor: "ItemProcessor", }, { pos: new Vector(2, 0), directions: [enumDirection.top], filter: enumItemType.shape, + processor: "ItemProcessor", }, { pos: new Vector(3, 0), directions: [enumDirection.top, enumDirection.right], filter: enumItemType.shape, + processor: "ItemProcessor", }, { pos: new Vector(0, 3), directions: [enumDirection.bottom, enumDirection.left], filter: enumItemType.shape, + processor: "ItemProcessor", }, { pos: new Vector(1, 3), directions: [enumDirection.bottom], filter: enumItemType.shape, + processor: "ItemProcessor", }, { pos: new Vector(2, 3), directions: [enumDirection.bottom], filter: enumItemType.shape, + processor: "ItemProcessor", }, { pos: new Vector(3, 3), directions: [enumDirection.bottom, enumDirection.right], filter: enumItemType.shape, + processor: "ItemProcessor", }, { pos: new Vector(0, 1), directions: [enumDirection.left], filter: enumItemType.shape, + processor: "ItemProcessor", }, { pos: new Vector(0, 2), directions: [enumDirection.left], filter: enumItemType.shape, + processor: "ItemProcessor", }, { pos: new Vector(0, 3), directions: [enumDirection.left], filter: enumItemType.shape, + processor: "ItemProcessor", }, { pos: new Vector(3, 1), directions: [enumDirection.right], filter: enumItemType.shape, + processor: "ItemProcessor", }, { pos: new Vector(3, 2), directions: [enumDirection.right], filter: enumItemType.shape, + processor: "ItemProcessor", }, { pos: new Vector(3, 3), directions: [enumDirection.right], filter: enumItemType.shape, + processor: "ItemProcessor", }, ], }) diff --git a/src/js/game/buildings/mixer.js b/src/js/game/buildings/mixer.js index a2b35280..aad2d817 100644 --- a/src/js/game/buildings/mixer.js +++ b/src/js/game/buildings/mixer.js @@ -64,11 +64,13 @@ export class MetaMixerBuilding extends MetaBuilding { pos: new Vector(0, 0), directions: [enumDirection.bottom], filter: enumItemType.color, + processor: "ItemProcessor", }, { pos: new Vector(1, 0), directions: [enumDirection.bottom], filter: enumItemType.color, + processor: "ItemProcessor", }, ], }) diff --git a/src/js/game/buildings/painter.js b/src/js/game/buildings/painter.js index 61e77a7c..4214bbbd 100644 --- a/src/js/game/buildings/painter.js +++ b/src/js/game/buildings/painter.js @@ -99,11 +99,13 @@ export class MetaPainterBuilding extends MetaBuilding { pos: new Vector(0, 0), directions: [enumDirection.left], filter: enumItemType.shape, + processor: "ItemProcessor", }, { pos: new Vector(1, 0), directions: [enumDirection.top], filter: enumItemType.color, + processor: "ItemProcessor", }, ], }) diff --git a/src/js/game/buildings/rotater.js b/src/js/game/buildings/rotater.js index 56c0c87d..1dac1a78 100644 --- a/src/js/game/buildings/rotater.js +++ b/src/js/game/buildings/rotater.js @@ -78,6 +78,7 @@ export class MetaRotaterBuilding extends MetaBuilding { pos: new Vector(0, 0), directions: [enumDirection.bottom], filter: enumItemType.shape, + processor: "ItemProcessor", }, ], }) diff --git a/src/js/game/buildings/splitter.js b/src/js/game/buildings/splitter.js index 9b4b3be5..e5249770 100644 --- a/src/js/game/buildings/splitter.js +++ b/src/js/game/buildings/splitter.js @@ -115,10 +115,12 @@ export class MetaSplitterBuilding extends MetaBuilding { { pos: new Vector(0, 0), directions: [enumDirection.bottom], + processor: "ItemProcessor", }, { pos: new Vector(1, 0), directions: [enumDirection.bottom], + processor: "ItemProcessor", }, ]); @@ -140,6 +142,7 @@ export class MetaSplitterBuilding extends MetaBuilding { { pos: new Vector(0, 0), directions: [enumDirection.bottom], + processor: "ItemProcessor", }, { pos: new Vector(0, 0), @@ -148,6 +151,7 @@ export class MetaSplitterBuilding extends MetaBuilding { ? enumDirection.left : enumDirection.right, ], + processor: "ItemProcessor", }, ]); diff --git a/src/js/game/buildings/stacker.js b/src/js/game/buildings/stacker.js index 91ac3f62..264353dc 100644 --- a/src/js/game/buildings/stacker.js +++ b/src/js/game/buildings/stacker.js @@ -64,11 +64,13 @@ export class MetaStackerBuilding extends MetaBuilding { pos: new Vector(0, 0), directions: [enumDirection.bottom], filter: enumItemType.shape, + processor: "ItemProcessor", }, { pos: new Vector(1, 0), directions: [enumDirection.bottom], filter: enumItemType.shape, + processor: "ItemProcessor", }, ], }) diff --git a/src/js/game/buildings/trash.js b/src/js/game/buildings/trash.js index 8ae36b8d..8c9b3575 100644 --- a/src/js/game/buildings/trash.js +++ b/src/js/game/buildings/trash.js @@ -127,6 +127,7 @@ export class MetaTrashBuilding extends MetaBuilding { enumDirection.bottom, enumDirection.left, ], + processor: "ItemProcessor", }, ]); entity.components.ItemEjector.setSlots([]); diff --git a/src/js/game/systems/item_ejector.js b/src/js/game/systems/item_ejector.js index d7a9dbe0..d19accdc 100644 --- a/src/js/game/systems/item_ejector.js +++ b/src/js/game/systems/item_ejector.js @@ -295,19 +295,6 @@ export class ItemEjectorSystem extends GameSystemWithFilter { // Energy consumer can have more components } - const itemProcessorComp = receiver.components.ItemProcessor; - if (itemProcessorComp) { - // Make sure its the same layer - if (itemLayer === receiver.layer) { - // Its an item processor .. - if (itemProcessorComp.tryTakeItem(item, slotIndex)) { - return true; - } - // Item processor can have nothing else - return false; - } - } - const undergroundBeltComp = receiver.components.UndergroundBelt; if (undergroundBeltComp) { // Its an underground belt. yay. @@ -336,17 +323,6 @@ export class ItemEjectorSystem extends GameSystemWithFilter { return false; } - const energyGeneratorComp = receiver.components.EnergyGenerator; - if (energyGeneratorComp) { - if (energyGeneratorComp.tryTakeItem(item, slotIndex)) { - // Passed it over - return true; - } - - // Energy generator comp can't have anything else - return false; - } - return false; }