DEADSOFTWARE

Fix ktlint action
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / objects / container / Container.kt
1 package ru.deadsoftware.cavedroid.game.objects.container
2
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
7
8 abstract class Container(
9 val size: Int,
10 gameItemsHolder: GameItemsHolder
11 ) : Serializable {
12
13 private val _items = Array(size) { gameItemsHolder.fallbackItem.toInventoryItem() }
14
15 val items get() = _items.asList() as MutableList<InventoryItem>
16
17 @OverridingMethodsMustInvokeSuper
18 open fun initItems(gameItemsHolder: GameItemsHolder) {
19 _items.forEach { it.init(gameItemsHolder) }
20 }
21
22 abstract fun update(gameItemsHolder: GameItemsHolder)
23
24 }