[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / input / handler / keyboard / MoveCursorControlsModeKeyboardInputHandler.kt
diff --git a/core/src/ru/deadsoftware/cavedroid/game/input/handler/keyboard/MoveCursorControlsModeKeyboardInputHandler.kt b/core/src/ru/deadsoftware/cavedroid/game/input/handler/keyboard/MoveCursorControlsModeKeyboardInputHandler.kt
index e6d00536239b1d7d03d369dbbc7967399a6becdf..98d3e0aa913e7b9acb4c4cd52ce2e81998c4b2fb 100644 (file)
package ru.deadsoftware.cavedroid.game.input.handler.keyboard
package ru.deadsoftware.cavedroid.game.input.handler.keyboard
-import com.badlogic.gdx.math.MathUtils
import ru.deadsoftware.cavedroid.MainConfig
import ru.deadsoftware.cavedroid.game.GameScope
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.KeyboardInputHandler
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.input.action.KeyboardInputAction
import ru.deadsoftware.cavedroid.game.input.action.keys.KeyboardInputActionKey
import ru.deadsoftware.cavedroid.game.mobs.MobsController
import javax.inject.Inject
@GameScope
import javax.inject.Inject
@GameScope
+@KeyboardInputHandler
class MoveCursorControlsModeKeyboardInputHandler @Inject constructor(
private val mainConfig: MainConfig,
private val mobsController: MobsController,
private val gameWorld: GameWorld,
class MoveCursorControlsModeKeyboardInputHandler @Inject constructor(
private val mainConfig: MainConfig,
private val mobsController: MobsController,
private val gameWorld: GameWorld,
-) : IGameInputHandler<KeyboardInputAction> {
+) : IKeyboardInputHandler {
override fun checkConditions(action: KeyboardInputAction): Boolean {
return mainConfig.isTouch &&
override fun checkConditions(action: KeyboardInputAction): Boolean {
return mainConfig.isTouch &&
action.actionKey is KeyboardInputActionKey.Down)
}
action.actionKey is KeyboardInputActionKey.Down)
}
- private fun checkCursorBounds() {
- val player = mobsController.player
- if (player.gameMode == 0) {
- val minCursorX = player.mapX - SURVIVAL_CURSOR_RANGE
- val maxCursorX = player.mapX + SURVIVAL_CURSOR_RANGE
- val minCursorY = player.middleMapY - SURVIVAL_CURSOR_RANGE
- val maxCursorY = player.middleMapY + SURVIVAL_CURSOR_RANGE
-
- player.cursorX = MathUtils.clamp(player.cursorX, minCursorX, maxCursorX)
- player.cursorY = MathUtils.clamp(player.cursorY, minCursorY, maxCursorY)
- }
-
- player.cursorY = MathUtils.clamp(player.cursorY, 0, gameWorld.height - 1)
- }
-
override fun handle(action: KeyboardInputAction) {
val player = mobsController.player
override fun handle(action: KeyboardInputAction) {
val player = mobsController.player
else -> return
}
else -> return
}
- checkCursorBounds()
+ player.checkCursorBounds(gameWorld);
}
companion object {
}
companion object {