diff --git a/.idea/misc.xml b/.idea/misc.xml index 039a9d1..e122dea 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/src/main/java/cz/jzitnik/Main.java b/src/main/java/cz/jzitnik/Main.java index 8350f97..b0e4f23 100644 --- a/src/main/java/cz/jzitnik/Main.java +++ b/src/main/java/cz/jzitnik/Main.java @@ -12,7 +12,6 @@ import org.jline.terminal.TerminalBuilder; import java.io.IOException; - public class Main { public static void main(String[] args) { try { diff --git a/src/main/java/cz/jzitnik/game/ui/Inventory.java b/src/main/java/cz/jzitnik/game/ui/Inventory.java index fe012ff..76f7477 100644 --- a/src/main/java/cz/jzitnik/game/ui/Inventory.java +++ b/src/main/java/cz/jzitnik/game/ui/Inventory.java @@ -317,7 +317,7 @@ public class Inventory { return selectedItemInv != -1; } - public void mergeItems(int indexFrom, int indexTo, Optional i) { + public boolean mergeItems(int indexFrom, int indexTo, Optional i) { InventoryDTO fromData = getItem(indexFrom, i); InventoryDTO toData = getItem(indexTo, i); @@ -325,15 +325,15 @@ public class Inventory { InventoryItem toItem = toData.getObj()[toData.getIndex()]; if (fromItem == null || toItem == null) { - return; // Nothing to merge + return false; // Nothing to merge } if (!fromItem.getItem().getFirst().isStackable() || !toItem.getItem().getFirst().isStackable()) { - return; + return false; } if (!fromItem.getItem().getFirst().equals(toItem.getItem().getFirst())) { - return; // Different items cannot be merged + return false; // Different items cannot be merged } while (true) { @@ -351,6 +351,8 @@ public class Inventory { } selectedItemInv = -1; + + return true; } public void mergeOne(int fromIndex, int toIndex, Optional i) { diff --git a/src/main/java/cz/jzitnik/game/ui/InventoryClickHandler.java b/src/main/java/cz/jzitnik/game/ui/InventoryClickHandler.java index c87c310..65144a8 100644 --- a/src/main/java/cz/jzitnik/game/ui/InventoryClickHandler.java +++ b/src/main/java/cz/jzitnik/game/ui/InventoryClickHandler.java @@ -91,6 +91,7 @@ public class InventoryClickHandler { int actualIndex = index + offset; if (inventory.getSelectedItemInv() == actualIndex) { + inventory.setSelectedItemInv(-1); return; } @@ -101,7 +102,9 @@ public class InventoryClickHandler { } else if (items[index] != null) { if (inventory.hasSelectedItem()) { // Merge items - inventory.mergeItems(inventory.getSelectedItemInv(), actualIndex, i); + if (!inventory.mergeItems(inventory.getSelectedItemInv(), actualIndex, i)) { + inventory.setSelectedItemInv(index + offset); + } } else { inventory.setSelectedItemInv(index + offset); }