X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Finput%2Fhandler%2Fmouse%2FCreativeInventoryScrollMouseInputHandler.kt;h=8acdb7e1d5cdd7437d61c9c64c678a5ce0a2aff1;hb=0d6ab84418440a30f2de555cb30ce21af8dac12e;hp=01cc4e23a5c1f78a38c7dd2ee6a4a8b47ef2e9b9;hpb=fb34c4a469190cbcd436a10c8cf3102562d97faf;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 01cc4e2..8acdb7e 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,12 +1,13 @@ package ru.deadsoftware.cavedroid.game.input.handler.mouse +import ru.deadsoftware.cavedroid.misc.annotations.multibinding.BindMouseInputHandler 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.input.IGameInputHandler +import ru.deadsoftware.cavedroid.game.ui.windows.GameWindowsManager +import ru.deadsoftware.cavedroid.game.input.IMouseInputHandler import ru.deadsoftware.cavedroid.game.input.action.MouseInputAction import ru.deadsoftware.cavedroid.game.input.action.keys.MouseInputActionKey import ru.deadsoftware.cavedroid.game.input.isInsideWindow @@ -15,11 +16,12 @@ import javax.inject.Inject import kotlin.math.abs @GameScope +@BindMouseInputHandler class CreativeInventoryScrollMouseInputHandler @Inject constructor( private val mainConfig: MainConfig, private val gameWindowsManager: GameWindowsManager, private val gameItemsHolder: GameItemsHolder, -) : IGameInputHandler { +) : IMouseInputHandler { private val creativeInventoryTexture get() = requireNotNull(Assets.textureRegions["creative"]) @@ -34,12 +36,12 @@ class CreativeInventoryScrollMouseInputHandler @Inject constructor( } private fun checkStartDragConditions(action: MouseInputAction): Boolean { - return (action.actionKey is MouseInputActionKey.Touch) && + return (action.actionKey is MouseInputActionKey.Screen) && !action.actionKey.touchUp && !gameWindowsManager.isDragging } private fun checkEndDragConditions(action: MouseInputAction): Boolean { - return action.actionKey is MouseInputActionKey.Touch && + return action.actionKey is MouseInputActionKey.Screen && action.actionKey.touchUp && gameWindowsManager.isDragging } @@ -75,7 +77,7 @@ class CreativeInventoryScrollMouseInputHandler @Inject constructor( override fun handle(action: MouseInputAction) { when (action.actionKey) { - is MouseInputActionKey.Touch -> handleStartOrEndDrag(action) + is MouseInputActionKey.Screen -> handleStartOrEndDrag(action) is MouseInputActionKey.Dragged -> handleDrag(action) is MouseInputActionKey.Scroll -> handleScroll(action) else -> return