DEADSOFTWARE

Add my repo for automultibind
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / input / mapper / KeyboardInputActionMapper.kt
1 package ru.deadsoftware.cavedroid.game.input.mapper
3 import com.badlogic.gdx.Input
4 import ru.deadsoftware.cavedroid.game.GameScope
5 import ru.deadsoftware.cavedroid.game.input.action.KeyboardInputAction
6 import ru.deadsoftware.cavedroid.game.input.action.keys.KeyboardInputActionKey
7 import javax.inject.Inject
9 @GameScope
10 class KeyboardInputActionMapper @Inject constructor() {
12 fun map(key: Int, isKeyDown: Boolean): KeyboardInputAction? {
13 val actionKey = when (key) {
14 Input.Keys.A, Input.Keys.LEFT -> KeyboardInputActionKey.Left
15 Input.Keys.D, Input.Keys.RIGHT -> KeyboardInputActionKey.Right
16 Input.Keys.W, Input.Keys.SPACE -> KeyboardInputActionKey.Jump
17 Input.Keys.S -> KeyboardInputActionKey.Down
19 Input.Keys.E -> KeyboardInputActionKey.OpenInventory
20 Input.Keys.ALT_LEFT -> KeyboardInputActionKey.SwitchControlsMode
22 Input.Keys.ESCAPE, Input.Keys.BACK -> KeyboardInputActionKey.Pause
24 Input.Keys.F1 -> KeyboardInputActionKey.ShowDebug
25 Input.Keys.GRAVE -> KeyboardInputActionKey.SwitchGameMode
26 Input.Keys.M -> KeyboardInputActionKey.ShowMap
28 Input.Keys.T -> KeyboardInputActionKey.OpenCraft
30 else -> null
31 }
33 return actionKey?.let { KeyboardInputAction(it, isKeyDown) }
34 }
36 }