signs persisting through load/save

This commit is contained in:
minjaesong
2024-03-21 20:57:12 +09:00
parent ec76eb2685
commit d35a73c7a5
14 changed files with 109 additions and 18 deletions

View File

@@ -5,14 +5,19 @@ 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.itemproperties.Item
import net.torvald.terrarum.modulebasegame.TerrarumIngame
import net.torvald.terrarum.modulebasegame.gameactors.FixtureBase
import net.torvald.terrarum.modulebasegame.gameactors.FixtureLogicSignalEmitter
import net.torvald.terrarum.modulebasegame.gameactors.FixtureTextSignCopper
/**
* Created by minjaesong on 2024-03-20.
*/
class ItemTextSignCopper(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulebasegame.gameactors.FixtureTextSignCopper") {
constructor() : this("") // item that can be dynamic needs no-arg constructor, as the class gets serialised into the savegame under dynamicItemInventory.[dynamicID]
override var dynamicID: ItemID = originalID
override var baseMass = 10.0
override val canBeDynamic = false
@@ -25,4 +30,10 @@ class ItemTextSignCopper(originalID: ItemID) : FixtureItemBase(originalID, "net.
override var baseToolSize: Double? = baseMass
override var originalName = "ITEM_COPPER_SIGN"
@Transient override val makeFixture: () -> FixtureBase = {
FixtureTextSignCopper(
extra.getAsString("signContent") ?: "",
extra.getAsInt("signPanelCount") ?: 2
)
}
}