DEADSOFTWARE

Update version script
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / input / handler / mouse / AbstractInventoryItemsMouseInputHandler.kt
diff --git a/core/src/ru/deadsoftware/cavedroid/game/input/handler/mouse/AbstractInventoryItemsMouseInputHandler.kt b/core/src/ru/deadsoftware/cavedroid/game/input/handler/mouse/AbstractInventoryItemsMouseInputHandler.kt
deleted file mode 100644 (file)
index 4aaff27..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-package ru.deadsoftware.cavedroid.game.input.handler.mouse
-
-import com.badlogic.gdx.graphics.g2d.TextureRegion
-import ru.deadsoftware.cavedroid.game.GameItemsHolder
-import ru.deadsoftware.cavedroid.game.GameUiWindow
-import ru.deadsoftware.cavedroid.game.input.IGameInputHandler
-import ru.deadsoftware.cavedroid.game.input.action.MouseInputAction
-import ru.deadsoftware.cavedroid.game.input.action.keys.MouseInputActionKey
-import ru.deadsoftware.cavedroid.game.input.isInsideWindow
-import ru.deadsoftware.cavedroid.game.model.item.InventoryItem
-import ru.deadsoftware.cavedroid.game.model.item.InventoryItem.Companion.isNoneOrNull
-import ru.deadsoftware.cavedroid.game.objects.container.Furnace
-import ru.deadsoftware.cavedroid.game.ui.windows.GameWindowsManager
-import ru.deadsoftware.cavedroid.game.ui.windows.inventory.AbstractInventoryWindow
-import ru.deadsoftware.cavedroid.game.ui.windows.inventory.AbstractInventoryWindowWithCraftGrid
-
-abstract class AbstractInventoryItemsMouseInputHandler(
-    private val gameItemsHolder: GameItemsHolder,
-    private val gameWindowsManager: GameWindowsManager,
-    private val windowType: GameUiWindow,
-) : IGameInputHandler<MouseInputAction> {
-
-    protected abstract val windowTexture: TextureRegion
-
-    override fun checkConditions(action: MouseInputAction): Boolean {
-        return gameWindowsManager.getCurrentWindow() == windowType &&
-                isInsideWindow(action, windowTexture) &&
-                (action.actionKey is MouseInputActionKey.Left ||
-                        action.actionKey is MouseInputActionKey.Right ||
-                        action.actionKey is MouseInputActionKey.Screen)
-                && (action.actionKey.touchUp || action.actionKey is MouseInputActionKey.Screen)
-    }
-
-    protected fun updateCraftResult(window: AbstractInventoryWindowWithCraftGrid) {
-        window.craftResult = gameItemsHolder.craftItem(window.craftingItems.map(InventoryItem::item))
-            ?: gameItemsHolder.fallbackItem.toInventoryItem()
-    }
-
-    private fun reduceCraftItems(window: AbstractInventoryWindowWithCraftGrid) {
-        for (i in window.craftingItems.indices) {
-            if (window.craftingItems[i].amount > 1) {
-                window.craftingItems[i].amount--
-            } else {
-                window.craftingItems[i] = gameItemsHolder.fallbackItem.toInventoryItem()
-            }
-        }
-    }
-
-    protected fun handleInsidePlaceableCell(
-        action: MouseInputAction,
-        items: MutableList<InventoryItem>,
-        window: AbstractInventoryWindow,
-        index: Int
-    ) {
-        if (action.actionKey is MouseInputActionKey.Screen) {
-            if (!action.actionKey.touchUp) {
-                window.onLeftCLick(items, gameItemsHolder, index, action.actionKey.pointer)
-            } else {
-                if (action.actionKey.pointer == window.selectItemPointer) {
-                    window.onLeftCLick(items, gameItemsHolder, index, action.actionKey.pointer)
-                } else {
-                    window.onRightClick(items, index)
-                }
-            }
-        } else if (action.actionKey is MouseInputActionKey.Left) {
-            window.onLeftCLick(items, gameItemsHolder, index)
-        } else {
-            window.onRightClick(items, index)
-        }
-    }
-
-    protected fun handleInsideCraftResultCell(
-        action: MouseInputAction,
-        items: MutableList<InventoryItem>,
-        window: AbstractInventoryWindow,
-        index: Int
-    ) {
-        val selectedItem = window.selectedItem
-
-        if (!selectedItem.isNoneOrNull() && (selectedItem.item != items[index].item ||
-                    !selectedItem.canBeAdded(items[index].amount))) {
-            return
-        }
-
-        if (!selectedItem.isNoneOrNull()) {
-            selectedItem.amount += items[index].amount
-            items[index] = gameItemsHolder.fallbackItem.toInventoryItem()
-        } else {
-            if (action.actionKey is MouseInputActionKey.Screen) {
-                if (!action.actionKey.touchUp) {
-                    window.onLeftCLick(items, gameItemsHolder, Furnace.RESULT_INDEX, action.actionKey.pointer)
-                }
-            } else if (action.actionKey is MouseInputActionKey.Left) {
-                window.onLeftCLick(items, gameItemsHolder, index)
-            }
-        }
-
-        if (window is AbstractInventoryWindowWithCraftGrid) {
-            reduceCraftItems(window)
-        }
-
-    }
-
-}
\ No newline at end of file