diff --git a/core/src/ru/deadsoftware/cavedroid/game/mobs/player/Inventory.kt b/core/src/ru/deadsoftware/cavedroid/game/mobs/player/Inventory.kt
index 4469038ba6f7a1632c54297202650085b02e00e0..b82aa44bcb775991b4ff12e175a511925620c28b 100644 (file)
gameItemsHolder: GameItemsHolder
) : Serializable {
+ @Transient
+ private lateinit var fallbackItem: InventoryItem
+
init {
+ fallbackItem = gameItemsHolder.fallbackItem.toInventoryItem()
if (size < 0 || hotbarSize < 0 || hotbarSize > size) {
throw IllegalArgumentException("Invalid inventory sizes: hotbarSize=$hotbarSize; size=$size")
}
val activeItem get() = items[activeSlot]
fun initItems(gameItemsHolder: GameItemsHolder) {
+ fallbackItem = gameItemsHolder.fallbackItem.toInventoryItem()
items.forEach { item ->
item.init(gameItemsHolder)
}
_items[0] = item.toInventoryItem(item.params.maxStack)
}
+
+ @JvmOverloads
+ fun decreaseCurrentItemAmount(count: Int = 1) {
+ activeItem.subtract(count)
+ if (activeItem.amount <= 0) {
+ _items[activeSlot] = fallbackItem
+ }
+ }
}
\ No newline at end of file