mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-13 12:04:06 +09:00
121 lines
4.3 KiB
Kotlin
121 lines
4.3 KiB
Kotlin
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 = ""
|
|
}
|
|
|
|
} |