DEADSOFTWARE

Delete old GameItems
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / GameItemsHolder.kt
index 058e84d7f283a8ab47dc03df09d48a997cb3824e..23fe4fbe4104977b0f47e1b1523417e7fae2cfc2 100644 (file)
@@ -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<GameItemsDto>(jsonString)
 
         loadBlocks(gameItemsDto.blocks)
         loadItems(gameItemsDto.items)
@@ -95,6 +95,20 @@ class GameItemsHolder @Inject constructor(
         }
     }
 
+    fun getAllItems(): Collection<Item> {
+        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 <T : Block> getBlocksByType(type: Class<T>): List<T> {
         return blocksMap.values.filterIsInstance(type)
     }