diff --git a/src/js/game/buildings/energy_generator.js b/src/js/game/buildings/energy_generator.js index 1d7ac18b..a63b4b3f 100644 --- a/src/js/game/buildings/energy_generator.js +++ b/src/js/game/buildings/energy_generator.js @@ -77,7 +77,6 @@ export class MetaEnergyGenerator extends MetaBuilding { layer: enumLayer.wires, }, ], - instantEject: true, }) ); diff --git a/src/js/game/buildings/wire_crossings.js b/src/js/game/buildings/wire_crossings.js index cb3c933a..82c057d2 100644 --- a/src/js/game/buildings/wire_crossings.js +++ b/src/js/game/buildings/wire_crossings.js @@ -65,7 +65,6 @@ export class MetaWireCrossingsBuilding extends MetaBuilding { entity.addComponent( new ItemEjectorComponent({ slots: [], // set later - instantEject: true, }) ); } diff --git a/src/js/game/components/item_ejector.js b/src/js/game/components/item_ejector.js index d6c79eb1..acb6b604 100644 --- a/src/js/game/components/item_ejector.js +++ b/src/js/game/components/item_ejector.js @@ -26,10 +26,8 @@ export class ItemEjectorComponent extends Component { } static getSchema() { - // The cachedDestSlot, cachedTargetEntity fields - // are not serialized. + // The cachedDestSlot, cachedTargetEntity fields are not serialized. return { - instantEject: types.bool, slots: types.array( types.structured({ pos: types.vector, @@ -57,7 +55,6 @@ export class ItemEjectorComponent extends Component { return new ItemEjectorComponent({ slots: slotsCopy, - instantEject: this.instantEject, }); } @@ -65,14 +62,10 @@ export class ItemEjectorComponent extends Component { * * @param {object} param0 * @param {Array<{pos: Vector, direction: enumDirection, layer?: enumLayer}>=} param0.slots The slots to eject on - * @param {boolean=} param0.instantEject If the ejection is instant */ - constructor({ slots = [], instantEject = false }) { + constructor({ slots = [] }) { super(); - // How long items take to eject - this.instantEject = instantEject; - this.setSlots(slots); /** @@ -161,7 +154,7 @@ export class ItemEjectorComponent extends Component { return false; } this.slots[slotIndex].item = item; - this.slots[slotIndex].progress = this.instantEject ? 1 : 0; + this.slots[slotIndex].progress = 0; return true; } diff --git a/src/js/game/systems/item_acceptor.js b/src/js/game/systems/item_acceptor.js index a813fdbe..06d4df16 100644 --- a/src/js/game/systems/item_acceptor.js +++ b/src/js/game/systems/item_acceptor.js @@ -1,13 +1,10 @@ -import { GameSystemWithFilter } from "../game_system_with_filter"; import { globalConfig } from "../../core/config"; import { DrawParameters } from "../../core/draw_parameters"; -import { Entity } from "../entity"; -import { enumDirectionToVector, enumDirectionToAngle } from "../../core/vector"; -import { ItemAcceptorComponent } from "../components/item_acceptor"; -import { Loader } from "../../core/loader"; -import { drawRotatedSprite } from "../../core/draw_utils"; -import { BELT_ANIM_COUNT } from "./belt"; import { fastArrayDelete } from "../../core/utils"; +import { enumDirectionToVector } from "../../core/vector"; +import { ItemAcceptorComponent } from "../components/item_acceptor"; +import { Entity } from "../entity"; +import { GameSystemWithFilter } from "../game_system_with_filter"; import { enumLayer } from "../root"; export class ItemAcceptorSystem extends GameSystemWithFilter { diff --git a/src/js/savegame/schemas/1002.js b/src/js/savegame/schemas/1002.js index 92dadfc1..866bc1e8 100644 --- a/src/js/savegame/schemas/1002.js +++ b/src/js/savegame/schemas/1002.js @@ -29,7 +29,9 @@ export class SavegameInterface_V1002 extends SavegameInterface_V1001 { const entity = entities[i]; const beltComp = entity.components.Belt; const ejectorComp = entity.components.ItemEjector; + if (beltComp && ejectorComp) { + // @ts-ignore ejectorComp.instantEject = true; } }