a84e22af7a72c1afae78fb199e9baa098fcfca60
1 package ru
.deadsoftware
.cavedroid
.misc
;
3 import com
.badlogic
.gdx
.Input
;
4 import com
.badlogic
.gdx
.InputProcessor
;
5 import ru
.deadsoftware
.cavedroid
.CaveGame
;
6 import ru
.deadsoftware
.cavedroid
.game
.GameInput
;
8 import static ru
.deadsoftware
.cavedroid
.GameScreen
.*;
10 public class InputHandlerGame
implements InputProcessor
{
12 private GameInput gameInput
;
14 public InputHandlerGame() {
15 this.gameInput
= new GameInput();
19 public boolean keyDown(int keycode
) {
20 gameInput
.keyDown(keycode
);
25 public boolean keyUp(int keycode
) {
26 gameInput
.keyUp(keycode
);
31 public boolean keyTyped(char character
) {
36 public boolean touchDown(int screenX
, int screenY
, int pointer
, int button
) {
37 screenX
*= GP
.renderer
.getWidth() / getWidth();
38 screenY
*= GP
.renderer
.getHeight() / getHeight();
41 if (screenX
> 26 && screenX
< 52 && screenY
> GP
.renderer
.getHeight() - 52 &&
42 screenY
< GP
.renderer
.getHeight() - 26) {
43 if (GP
.controlMode
== ControlMode
.WALK
) {
44 gameInput
.keyDown(Input
.Keys
.W
);
46 gameInput
.keyDown(Input
.Keys
.SPACE
);
48 } else if (screenX
> 0 && screenX
< 26 && screenY
> GP
.renderer
.getHeight() - 26) {
49 gameInput
.keyDown(Input
.Keys
.A
);
50 } else if (screenX
> 26 && screenX
< 52 && screenY
> GP
.renderer
.getHeight() - 26) {
51 if (GP
.controlMode
== ControlMode
.CURSOR
) gameInput
.keyDown(Input
.Keys
.S
);
52 else gameInput
.keyDown(Input
.Keys
.CONTROL_LEFT
);
53 } else if (screenX
> 52 && screenX
< 78 && screenY
> GP
.renderer
.getHeight() - 26) {
54 gameInput
.keyDown(Input
.Keys
.D
);
55 } else if (screenX
> 78 && screenX
< 104 && screenY
> GP
.renderer
.getHeight() - 26) {
56 gameInput
.keyDown(Input
.Keys
.ALT_LEFT
);
57 } else if (screenX
> GP
.renderer
.getWidth() - 52 && screenX
< GP
.renderer
.getWidth() - 26 &&
58 screenY
> GP
.renderer
.getHeight() - 26) {
59 gameInput
.touchDown(screenX
, screenY
, Input
.Buttons
.LEFT
);
60 } else if (screenX
> GP
.renderer
.getWidth() - 26 && screenY
> screenY
- 26) {
61 gameInput
.touchDown(screenX
, screenY
, Input
.Buttons
.RIGHT
);
63 gameInput
.touchDown(screenX
, screenY
, -1);
66 gameInput
.touchDown(screenX
, screenY
, button
);
72 public boolean touchUp(int screenX
, int screenY
, int pointer
, int button
) {
73 screenX
*= GP
.renderer
.getWidth() / getWidth();
74 screenY
*= GP
.renderer
.getHeight() / getHeight();
76 if (screenX
> 26 && screenX
< 52 && screenY
> GP
.renderer
.getHeight() - 52 &&
77 screenY
< GP
.renderer
.getHeight() - 26) {
78 if (GP
.controlMode
== ControlMode
.CURSOR
) gameInput
.keyUp(Input
.Keys
.W
);
79 else gameInput
.keyUp(Input
.Keys
.SPACE
);
80 } else if (screenX
> 0 && screenX
< 26 && screenY
> GP
.renderer
.getHeight() - 26) {
81 gameInput
.keyUp(Input
.Keys
.A
);
82 } else if (screenX
> 26 && screenX
< 52 && screenY
> GP
.renderer
.getHeight() - 26) {
83 if (GP
.controlMode
== ControlMode
.CURSOR
) gameInput
.keyUp(Input
.Keys
.S
);
84 else gameInput
.keyUp(Input
.Keys
.CONTROL_LEFT
);
85 } else if (screenX
> 52 && screenX
< 78 && screenY
> GP
.renderer
.getHeight() - 26) {
86 gameInput
.keyUp(Input
.Keys
.D
);
87 } else if (screenX
> 78 && screenX
< 104 && screenY
> GP
.renderer
.getHeight() - 26) {
88 gameInput
.keyUp(Input
.Keys
.ALT_LEFT
);
89 } else if (screenX
> GP
.renderer
.getWidth() - 52 && screenX
< GP
.renderer
.getWidth() - 26 &&
90 screenY
> GP
.renderer
.getHeight() - 26) {
91 gameInput
.touchUp(screenX
, screenY
, Input
.Buttons
.LEFT
);
92 } else if (screenX
> GP
.renderer
.getWidth() - 26 && screenY
> screenY
- 26) {
93 gameInput
.touchUp(screenX
, screenY
, Input
.Buttons
.RIGHT
);
95 gameInput
.touchUp(screenX
, screenY
, -1);
98 gameInput
.touchUp(screenX
, screenY
, button
);
104 public boolean touchDragged(int screenX
, int screenY
, int pointer
) {
105 screenX
*= GP
.renderer
.getWidth() / getWidth();
106 screenY
*= GP
.renderer
.getHeight() / getHeight();
107 if (GP
.isKeyDown
&& (screenX
> 78 || screenY
< GP
.renderer
.getHeight() - 52)) {
108 gameInput
.keyUp(GP
.keyDownCode
);
110 gameInput
.touchDragged(screenX
, screenY
);
116 public boolean mouseMoved(int screenX
, int screenY
) {
121 public boolean scrolled(int amount
) {
122 gameInput
.scrolled(amount
);