X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Finput%2Fhandler%2Fkeyboard%2FTurnOnFlyModeKeyboardInputHandler.kt;h=43a7122970acf6c94dec1c149539c82e2209d273;hb=3a443514027417133d7a7e18766720dfea028a87;hp=6a73a9bc54f316db61c68134ce2f8355035aaf46;hpb=cf4113d5bfd3fca7c3815bf14a214eebd822216c;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/input/handler/keyboard/TurnOnFlyModeKeyboardInputHandler.kt b/core/src/ru/deadsoftware/cavedroid/game/input/handler/keyboard/TurnOnFlyModeKeyboardInputHandler.kt index 6a73a9b..43a7122 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/input/handler/keyboard/TurnOnFlyModeKeyboardInputHandler.kt +++ b/core/src/ru/deadsoftware/cavedroid/game/input/handler/keyboard/TurnOnFlyModeKeyboardInputHandler.kt @@ -2,21 +2,24 @@ package ru.deadsoftware.cavedroid.game.input.handler.keyboard import ru.deadsoftware.cavedroid.MainConfig import ru.deadsoftware.cavedroid.game.GameScope -import ru.deadsoftware.cavedroid.game.input.IGameInputHandler +import ru.deadsoftware.cavedroid.game.input.IKeyboardInputHandler import ru.deadsoftware.cavedroid.game.input.action.KeyboardInputAction import ru.deadsoftware.cavedroid.game.input.action.keys.KeyboardInputActionKey import ru.deadsoftware.cavedroid.game.mobs.MobsController -import ru.deadsoftware.cavedroid.game.mobs.Player +import ru.deadsoftware.cavedroid.game.mobs.player.Player +import ru.deadsoftware.cavedroid.misc.annotations.multibinding.BindKeyboardInputHandler import javax.inject.Inject @GameScope +@BindKeyboardInputHandler class TurnOnFlyModeKeyboardInputHandler @Inject constructor( private val mainConfig: MainConfig, private val mobsController: MobsController, -) : IGameInputHandler { +) : IKeyboardInputHandler { override fun checkConditions(action: KeyboardInputAction): Boolean { - return mobsController.player.gameMode == 1 && action.actionKey is KeyboardInputActionKey.Jump && + return mobsController.player.gameMode == 1 && action.actionKey is KeyboardInputActionKey.Up && + !mobsController.player.swim && !mobsController.player.isFlyMode && !mobsController.player.canJump() && action.isKeyDown && (mobsController.player.controlMode == Player.ControlMode.WALK || !mainConfig.isTouch) }