DEADSOFTWARE

Update version script
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / objects / container / Container.kt
1 package ru.deadsoftware.cavedroid.game.objects.container
3 import ru.deadsoftware.cavedroid.game.GameItemsHolder
4 import ru.deadsoftware.cavedroid.game.model.item.InventoryItem
5 import java.io.Serializable
6 import javax.annotation.OverridingMethodsMustInvokeSuper
8 abstract class Container(
9 val size: Int,
10 gameItemsHolder: GameItemsHolder
11 ) : Serializable {
13 private val _items = Array(size) { gameItemsHolder.fallbackItem.toInventoryItem() }
15 val items get() = _items.asList() as MutableList<InventoryItem>
17 @OverridingMethodsMustInvokeSuper
18 open fun initItems(gameItemsHolder: GameItemsHolder) {
19 _items.forEach { it.init(gameItemsHolder) }
20 }
22 abstract fun update(gameItemsHolder: GameItemsHolder)
24 }