package net.torvald.terrarum.modulebasegame.gameitems import com.badlogic.gdx.graphics.g2d.TextureRegion import net.torvald.terrarum.CommonResourcePool import net.torvald.terrarum.Terrarum import net.torvald.terrarum.gameactors.ActorWithBody import net.torvald.terrarum.gameitems.ItemID import net.torvald.terrarum.modulebasegame.TerrarumIngame import net.torvald.terrarum.modulebasegame.gameactors.FixtureLogicSignalEmitter /** * Created by minjaesong on 2024-03-04. */ class ItemLogicSignalBlocker(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulebasegame.gameactors.FixtureLogicSignalBlocker") { override var dynamicID: ItemID = originalID override var baseMass = FixtureLogicSignalEmitter.MASS override val canBeDynamic = false override val materialId = "" init { itemImage = CommonResourcePool.getAsItemSheet("basegame.items").get(10, 3) } override var baseToolSize: Double? = baseMass override var originalName = "ITEM_LOGIC_SIGNAL_BLOCKER" override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) { super.effectWhileEquipped(actor, delta) (Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = "signal" } override fun effectOnUnequip(actor: ActorWithBody) { super.effectOnUnequip(actor) (Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = "" } } /** * Created by minjaesong on 2024-03-05. */ class ItemLogicSignalLatch(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulebasegame.gameactors.FixtureLogicSignalLatch") { override var dynamicID: ItemID = originalID override var baseMass = FixtureLogicSignalEmitter.MASS override val canBeDynamic = false override val materialId = "" init { itemImage = CommonResourcePool.getAsItemSheet("basegame.items").get(11, 3) } override var baseToolSize: Double? = baseMass override var originalName = "ITEM_LOGIC_SIGNAL_LATCH" override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) { super.effectWhileEquipped(actor, delta) (Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = "signal" } override fun effectOnUnequip(actor: ActorWithBody) { super.effectOnUnequip(actor) (Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = "" } } /** * Created by minjaesong on 2024-03-08. */ class ItemLogicSignalRepeaterHorz(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulebasegame.gameactors.FixtureLogicSignalRepeaterHorz") { override var dynamicID: ItemID = originalID override var baseMass = FixtureLogicSignalEmitter.MASS override val canBeDynamic = false override val materialId = "" init { itemImage = CommonResourcePool.getAsItemSheet("basegame.items").get(12, 3) } override var baseToolSize: Double? = baseMass override var originalName = "ITEM_LOGIC_SIGNAL_REPEATER" override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) { super.effectWhileEquipped(actor, delta) (Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = "signal" } override fun effectOnUnequip(actor: ActorWithBody) { super.effectOnUnequip(actor) (Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = "" } } /** * Created by minjaesong on 2024-03-10. */ class ItemLogicSignalAdder(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulebasegame.gameactors.FixtureLogicSignalAdder") { override var dynamicID: ItemID = originalID override var baseMass = FixtureLogicSignalEmitter.MASS override val canBeDynamic = false override val materialId = "" init { itemImage = CommonResourcePool.getAsItemSheet("basegame.items").get(14, 3) } override var baseToolSize: Double? = baseMass override var originalName = "ITEM_LOGIC_SIGNAL_ADDER" override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) { super.effectWhileEquipped(actor, delta) (Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = "signal" } override fun effectOnUnequip(actor: ActorWithBody) { super.effectOnUnequip(actor) (Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = "" } }