new inventory category 'fixtures'; fixture code refactoring

This commit is contained in:
minjaesong
2023-10-04 01:03:40 +09:00
parent fc8138f3b1
commit 9a527a4508
25 changed files with 73 additions and 158 deletions

View File

@@ -15,27 +15,14 @@ import net.torvald.terrarum.modulecomputers.gameactors.FixtureHomeComputer
/**
* Created by minjaesong on 2021-12-04.
*/
class ItemHomeComputer(originalID: ItemID) : GameItem(originalID) {
class ItemHomeComputer(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulecomputers.gameactors.FixtureHomeComputer") {
override var dynamicID: ItemID = originalID
override var baseMass = 20.0
override var inventoryCategory = Category.MISC
override val isDynamic = false
override val materialId = ""
override val itemImage: TextureRegion
get() = FixtureItemBase.getItemImageFromSheet("dwarventech", "sprites/fixtures/desktop_computer.tga", TerrarumAppConfiguration.TILE_SIZE, TerrarumAppConfiguration.TILE_SIZE)
override var baseToolSize: Double? = baseMass
init {
equipPosition = EquipPosition.HAND_GRIP
originalName = "ITEM_DESKTOP_COMPUTER"
}
override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = mouseInInteractableRange(actor) { _, _, mtx, mty ->
val item = FixtureHomeComputer()
if (item.spawn(mtx, mty, if (actor is IngamePlayer) actor.uuid else null)) 1L else -1L
// return true when placed, false when cannot be placed
}
override var originalName = "ITEM_DESKTOP_COMPUTER"
}