X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Finput%2Fhandler%2Fmouse%2FCreativeInventoryScrollMouseInputHandler.kt;h=11f76e9a691fd8a34c2086fdc21c4023ab592481;hb=b2f824726f647543e69f31ac5723df37750b5778;hp=52e9f627071ea971fc8c148ed97730f316be6514;hpb=cf4113d5bfd3fca7c3815bf14a214eebd822216c;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/input/handler/mouse/CreativeInventoryScrollMouseInputHandler.kt b/core/src/ru/deadsoftware/cavedroid/game/input/handler/mouse/CreativeInventoryScrollMouseInputHandler.kt index 52e9f62..11f76e9 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/input/handler/mouse/CreativeInventoryScrollMouseInputHandler.kt +++ b/core/src/ru/deadsoftware/cavedroid/game/input/handler/mouse/CreativeInventoryScrollMouseInputHandler.kt @@ -1,10 +1,11 @@ package ru.deadsoftware.cavedroid.game.input.handler.mouse import com.badlogic.gdx.math.MathUtils +import ru.deadsoftware.cavedroid.MainConfig import ru.deadsoftware.cavedroid.game.GameItemsHolder import ru.deadsoftware.cavedroid.game.GameScope import ru.deadsoftware.cavedroid.game.GameUiWindow -import ru.deadsoftware.cavedroid.game.windows.GameWindowsManager +import ru.deadsoftware.cavedroid.game.ui.windows.GameWindowsManager import ru.deadsoftware.cavedroid.game.input.IGameInputHandler import ru.deadsoftware.cavedroid.game.input.action.MouseInputAction import ru.deadsoftware.cavedroid.game.input.action.keys.MouseInputActionKey @@ -15,6 +16,7 @@ import kotlin.math.abs @GameScope class CreativeInventoryScrollMouseInputHandler @Inject constructor( + private val mainConfig: MainConfig, private val gameWindowsManager: GameWindowsManager, private val gameItemsHolder: GameItemsHolder, ) : IGameInputHandler { @@ -32,17 +34,17 @@ class CreativeInventoryScrollMouseInputHandler @Inject constructor( } private fun checkStartDragConditions(action: MouseInputAction): Boolean { - return action.actionKey is MouseInputActionKey.Left && + return (action.actionKey is MouseInputActionKey.Screen) && !action.actionKey.touchUp && !gameWindowsManager.isDragging } private fun checkEndDragConditions(action: MouseInputAction): Boolean { - return action.actionKey is MouseInputActionKey.Left && + return action.actionKey is MouseInputActionKey.Screen && action.actionKey.touchUp && gameWindowsManager.isDragging } private fun checkDragConditions(action: MouseInputAction): Boolean { - return action.actionKey is MouseInputActionKey.Dragged && + return mainConfig.isTouch && action.actionKey is MouseInputActionKey.Dragged && abs(action.screenY - dragStartY) >= DRAG_SENSITIVITY } @@ -73,7 +75,7 @@ class CreativeInventoryScrollMouseInputHandler @Inject constructor( override fun handle(action: MouseInputAction) { when (action.actionKey) { - is MouseInputActionKey.Left -> handleStartOrEndDrag(action) + is MouseInputActionKey.Screen -> handleStartOrEndDrag(action) is MouseInputActionKey.Dragged -> handleDrag(action) is MouseInputActionKey.Scroll -> handleScroll(action) else -> return