DEADSOFTWARE

Refactor window controls
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / mobs / player / Inventory.kt
index c5e10d06b30600a2c4aaac74ebedd9a97d67a781..c6dea8bc878f0d523be0fc447979961080fc94df 100644 (file)
@@ -59,11 +59,13 @@ class Inventory(
         }
     }
 
-    private fun getItemPickSlot(item: Item): Int {
+    private fun getItemPickSlot(drop: Drop): Int {
+        val item = drop.item
+
         for (i in _items.indices) {
             val inventoryItem = _items[i]
 
-            if (item == inventoryItem.item && inventoryItem.canBeAdded()) {
+            if (item == inventoryItem.item && inventoryItem.canBeAdded(drop.amount)) {
                 return i
             }
         }
@@ -79,12 +81,12 @@ class Inventory(
         return -1
     }
 
-    fun canPickItem(item: Item): Boolean {
-        return getItemPickSlot(item) >= 0
+    fun canPickItem(drop: Drop): Boolean {
+        return getItemPickSlot(drop) >= 0
     }
 
     fun pickDrop(drop: Drop) {
-        val slot = getItemPickSlot(drop.item).takeIf { it >= 0 } ?: return
+        val slot = getItemPickSlot(drop).takeIf { it >= 0 } ?: return
         val inventoryItem = _items[slot]
 
         if (inventoryItem.item == drop.item) {