1 package ru
.deadsoftware
.cavecraft
.misc
;
3 import com
.badlogic
.gdx
.Input
;
4 import com
.badlogic
.gdx
.InputProcessor
;
5 import ru
.deadsoftware
.cavecraft
.CaveGame
;
6 import ru
.deadsoftware
.cavecraft
.game
.GameInput
;
8 import static ru
.deadsoftware
.cavecraft
.GameScreen
.getHeight
;
9 import static ru
.deadsoftware
.cavecraft
.GameScreen
.getWidth
;
10 import static ru
.deadsoftware
.cavecraft
.GameScreen
.GP
;
12 public class InputHandlerGame
implements InputProcessor
{
14 private GameInput gameInput
;
16 public InputHandlerGame() {
17 this.gameInput
= new GameInput();
21 public boolean keyDown(int keycode
) {
22 gameInput
.keyDown(keycode
);
27 public boolean keyUp(int keycode
) {
28 gameInput
.keyUp(keycode
);
33 public boolean keyTyped(char character
) {
38 public boolean touchDown(int screenX
, int screenY
, int pointer
, int button
) {
39 screenX
*= GP
.renderer
.getWidth() / getWidth();
40 screenY
*= GP
.renderer
.getHeight() / getHeight();
43 if (screenX
> 26 && screenX
< 52 && screenY
> GP
.renderer
.getHeight() - 52 &&
44 screenY
< GP
.renderer
.getHeight() - 26) {
45 if (GP
.ctrlMode
== 1) gameInput
.keyDown(Input
.Keys
.W
);
46 else gameInput
.keyDown(Input
.Keys
.SPACE
);
47 } else if (screenX
> 0 && screenX
< 26 && screenY
> GP
.renderer
.getHeight() - 26) {
48 gameInput
.keyDown(Input
.Keys
.A
);
49 } else if (screenX
> 26 && screenX
< 52 && screenY
> GP
.renderer
.getHeight() - 26) {
50 if (GP
.ctrlMode
== 1) gameInput
.keyDown(Input
.Keys
.S
);
51 else gameInput
.keyDown(Input
.Keys
.CONTROL_LEFT
);
52 } else if (screenX
> 52 && screenX
< 78 && screenY
> GP
.renderer
.getHeight() - 26) {
53 gameInput
.keyDown(Input
.Keys
.D
);
54 } else if (screenX
> 78 && screenX
< 104 && screenY
> GP
.renderer
.getHeight() - 26) {
55 gameInput
.keyDown(Input
.Keys
.ALT_LEFT
);
56 } else if (screenX
> GP
.renderer
.getWidth() - 52 && screenX
< GP
.renderer
.getWidth() - 26 &&
57 screenY
> GP
.renderer
.getHeight() - 26) {
58 gameInput
.touchDown(screenX
, screenY
, Input
.Buttons
.LEFT
);
59 } else if (screenX
> GP
.renderer
.getWidth() - 26 && screenY
> screenY
- 26) {
60 gameInput
.touchDown(screenX
, screenY
, Input
.Buttons
.RIGHT
);
62 gameInput
.touchDown(screenX
, screenY
, -1);
65 gameInput
.touchDown(screenX
, screenY
, button
);
71 public boolean touchUp(int screenX
, int screenY
, int pointer
, int button
) {
72 screenX
*= GP
.renderer
.getWidth() / getWidth();
73 screenY
*= GP
.renderer
.getHeight() / getHeight();
75 if (screenX
> 26 && screenX
< 52 && screenY
> GP
.renderer
.getHeight() - 52 &&
76 screenY
< GP
.renderer
.getHeight() - 26) {
77 if (GP
.ctrlMode
== 1) gameInput
.keyUp(Input
.Keys
.W
);
78 else gameInput
.keyUp(Input
.Keys
.SPACE
);
79 } else if (screenX
> 0 && screenX
< 26 && screenY
> GP
.renderer
.getHeight() - 26) {
80 gameInput
.keyUp(Input
.Keys
.A
);
81 } else if (screenX
> 26 && screenX
< 52 && screenY
> GP
.renderer
.getHeight() - 26) {
82 if (GP
.ctrlMode
== 1) gameInput
.keyUp(Input
.Keys
.S
);
83 else gameInput
.keyUp(Input
.Keys
.CONTROL_LEFT
);
84 } else if (screenX
> 52 && screenX
< 78 && screenY
> GP
.renderer
.getHeight() - 26) {
85 gameInput
.keyUp(Input
.Keys
.D
);
86 } else if (screenX
> 78 && screenX
< 104 && screenY
> GP
.renderer
.getHeight() - 26) {
87 gameInput
.keyUp(Input
.Keys
.ALT_LEFT
);
88 } else if (screenX
> GP
.renderer
.getWidth() - 52 && screenX
< GP
.renderer
.getWidth() - 26 &&
89 screenY
> GP
.renderer
.getHeight() - 26) {
90 gameInput
.touchUp(screenX
, screenY
, Input
.Buttons
.LEFT
);
91 } else if (screenX
> GP
.renderer
.getWidth() - 26 && screenY
> screenY
- 26) {
92 gameInput
.touchUp(screenX
, screenY
, Input
.Buttons
.RIGHT
);
94 gameInput
.touchUp(screenX
, screenY
, -1);
97 gameInput
.touchUp(screenX
, screenY
, button
);
103 public boolean touchDragged(int screenX
, int screenY
, int pointer
) {
104 screenX
*= GP
.renderer
.getWidth() / getWidth();
105 screenY
*= GP
.renderer
.getHeight() / getHeight();
106 if (GP
.isKeyDown
&& (screenX
> 78 || screenY
< GP
.renderer
.getHeight() - 52)) {
107 gameInput
.keyUp(GP
.keyDownCode
);
109 gameInput
.touchDragged(screenX
, screenY
);
115 public boolean mouseMoved(int screenX
, int screenY
) {
120 public boolean scrolled(int amount
) {
121 gameInput
.scrolled(amount
);