DEADSOFTWARE

c86884275e610f8bfdd73e0564978f357444385a
[cavedroid.git] /
1 package ru.deadsoftware.cavedroid.game.input.handler.keyboard
2
3 import ru.deadsoftware.cavedroid.game.input.IKeyboardInputHandler
4 import ru.deadsoftware.cavedroid.game.input.action.KeyboardInputAction
5 import ru.deadsoftware.cavedroid.game.input.action.keys.KeyboardInputActionKey
6 import ru.deadsoftware.cavedroid.misc.annotations.multibinding.BindKeyboardInputHandler
7 import ru.fredboy.cavedroid.common.di.GameScope
8 import ru.fredboy.cavedroid.game.controller.mob.MobController
9 import javax.inject.Inject
10
11 @GameScope
12 @BindKeyboardInputHandler
13 class ToggleGameModeKeyboardInputHandler @Inject constructor(
14 private val mobController: MobController
15 ) : IKeyboardInputHandler {
16
17
18 override fun checkConditions(action: KeyboardInputAction): Boolean {
19 return action.actionKey is KeyboardInputActionKey.SwitchGameMode && action.isKeyDown
20 }
21
22 override fun handle(action: KeyboardInputAction) {
23 if (mobController.player.gameMode == 1) {
24 mobController.player.gameMode = 0
25 } else if (mobController.player.gameMode == 0) {
26 mobController.player.gameMode = 1
27 }
28 }
29
30
31 }