diff --git a/core/src/ru/deadsoftware/cavedroid/game/GameItemsHolder.kt b/core/src/ru/deadsoftware/cavedroid/game/GameItemsHolder.kt
index 058e84d7f283a8ab47dc03df09d48a997cb3824e..075af6f4f39cf707ad9bd48f78c6f21f8fc66b06 100644 (file)
}
val jsonString = assetLoader.getAssetHandle("json/game_items.json").readString()
- val gameItemsDto = JsonFormat.decodeFromString(GameItemsDto.GameItemsDtoJsonSerializer, jsonString)
+ val gameItemsDto = JsonFormat.decodeFromString<GameItemsDto>(jsonString)
loadBlocks(gameItemsDto.blocks)
loadItems(gameItemsDto.items)
}
}
+ fun getAllItems(): Collection<Item> {
+ return itemsMap.values
+ }
+
+ fun getItemFromCreativeInventory(position: Int): Item {
+ return if (position in itemsMap.values.indices) {
+ itemsMap.values.elementAt(position)
+ } else {
+ fallbackItem
+ }
+ }
+
+ fun getCreativeScrollAmount(): Int = itemsMap.size / 8
+
fun <T : Block> getBlocksByType(type: Class<T>): List<T> {
return blocksMap.values.filterIsInstance(type)
}