X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2FGameItemsHolder.kt;h=23fe4fbe4104977b0f47e1b1523417e7fae2cfc2;hb=121928e90bdfa3a9d9c8bd708b9f8da28d3807c0;hp=058e84d7f283a8ab47dc03df09d48a997cb3824e;hpb=c1fdecd8692e21b59a720eca1a3617cb5eb7c07f;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/GameItemsHolder.kt b/core/src/ru/deadsoftware/cavedroid/game/GameItemsHolder.kt index 058e84d..23fe4fb 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/GameItemsHolder.kt +++ b/core/src/ru/deadsoftware/cavedroid/game/GameItemsHolder.kt @@ -63,7 +63,7 @@ class GameItemsHolder @Inject constructor( } val jsonString = assetLoader.getAssetHandle("json/game_items.json").readString() - val gameItemsDto = JsonFormat.decodeFromString(GameItemsDto.GameItemsDtoJsonSerializer, jsonString) + val gameItemsDto = JsonFormat.decodeFromString(jsonString) loadBlocks(gameItemsDto.blocks) loadItems(gameItemsDto.items) @@ -95,6 +95,20 @@ class GameItemsHolder @Inject constructor( } } + fun getAllItems(): Collection { + return itemsMap.values + } + + fun getItemFromCreativeInventory(position: Int): Item? { + return if (position in itemsMap.values.indices) { + itemsMap.values.elementAt(position) + } else { + null + } + } + + fun getCreativeScrollAmount(): Int = itemsMap.size / 8 + fun getBlocksByType(type: Class): List { return blocksMap.values.filterIsInstance(type) }