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
.ctrlMode
== 1) gameInput
.keyDown(Input
.Keys
.W
);
44 else gameInput
.keyDown(Input
.Keys
.SPACE
);
45 } else if (screenX
> 0 && screenX
< 26 && screenY
> GP
.renderer
.getHeight() - 26) {
46 gameInput
.keyDown(Input
.Keys
.A
);
47 } else if (screenX
> 26 && screenX
< 52 && screenY
> GP
.renderer
.getHeight() - 26) {
48 if (GP
.ctrlMode
== 1) gameInput
.keyDown(Input
.Keys
.S
);
49 else gameInput
.keyDown(Input
.Keys
.CONTROL_LEFT
);
50 } else if (screenX
> 52 && screenX
< 78 && screenY
> GP
.renderer
.getHeight() - 26) {
51 gameInput
.keyDown(Input
.Keys
.D
);
52 } else if (screenX
> 78 && screenX
< 104 && screenY
> GP
.renderer
.getHeight() - 26) {
53 gameInput
.keyDown(Input
.Keys
.ALT_LEFT
);
54 } else if (screenX
> GP
.renderer
.getWidth() - 52 && screenX
< GP
.renderer
.getWidth() - 26 &&
55 screenY
> GP
.renderer
.getHeight() - 26) {
56 gameInput
.touchDown(screenX
, screenY
, Input
.Buttons
.LEFT
);
57 } else if (screenX
> GP
.renderer
.getWidth() - 26 && screenY
> screenY
- 26) {
58 gameInput
.touchDown(screenX
, screenY
, Input
.Buttons
.RIGHT
);
60 gameInput
.touchDown(screenX
, screenY
, -1);
63 gameInput
.touchDown(screenX
, screenY
, button
);
69 public boolean touchUp(int screenX
, int screenY
, int pointer
, int button
) {
70 screenX
*= GP
.renderer
.getWidth() / getWidth();
71 screenY
*= GP
.renderer
.getHeight() / getHeight();
73 if (screenX
> 26 && screenX
< 52 && screenY
> GP
.renderer
.getHeight() - 52 &&
74 screenY
< GP
.renderer
.getHeight() - 26) {
75 if (GP
.ctrlMode
== 1) gameInput
.keyUp(Input
.Keys
.W
);
76 else gameInput
.keyUp(Input
.Keys
.SPACE
);
77 } else if (screenX
> 0 && screenX
< 26 && screenY
> GP
.renderer
.getHeight() - 26) {
78 gameInput
.keyUp(Input
.Keys
.A
);
79 } else if (screenX
> 26 && screenX
< 52 && screenY
> GP
.renderer
.getHeight() - 26) {
80 if (GP
.ctrlMode
== 1) gameInput
.keyUp(Input
.Keys
.S
);
81 else gameInput
.keyUp(Input
.Keys
.CONTROL_LEFT
);
82 } else if (screenX
> 52 && screenX
< 78 && screenY
> GP
.renderer
.getHeight() - 26) {
83 gameInput
.keyUp(Input
.Keys
.D
);
84 } else if (screenX
> 78 && screenX
< 104 && screenY
> GP
.renderer
.getHeight() - 26) {
85 gameInput
.keyUp(Input
.Keys
.ALT_LEFT
);
86 } else if (screenX
> GP
.renderer
.getWidth() - 52 && screenX
< GP
.renderer
.getWidth() - 26 &&
87 screenY
> GP
.renderer
.getHeight() - 26) {
88 gameInput
.touchUp(screenX
, screenY
, Input
.Buttons
.LEFT
);
89 } else if (screenX
> GP
.renderer
.getWidth() - 26 && screenY
> screenY
- 26) {
90 gameInput
.touchUp(screenX
, screenY
, Input
.Buttons
.RIGHT
);
92 gameInput
.touchUp(screenX
, screenY
, -1);
95 gameInput
.touchUp(screenX
, screenY
, button
);
101 public boolean touchDragged(int screenX
, int screenY
, int pointer
) {
102 screenX
*= GP
.renderer
.getWidth() / getWidth();
103 screenY
*= GP
.renderer
.getHeight() / getHeight();
104 if (GP
.isKeyDown
&& (screenX
> 78 || screenY
< GP
.renderer
.getHeight() - 52)) {
105 gameInput
.keyUp(GP
.keyDownCode
);
107 gameInput
.touchDragged(screenX
, screenY
);
113 public boolean mouseMoved(int screenX
, int screenY
) {
118 public boolean scrolled(int amount
) {
119 gameInput
.scrolled(amount
);