6a912ac355f4d5145e144d68d84b6d785cfc8ebf
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
;
7 import ru
.deadsoftware
.cavecraft
.game
.GameProc
;
9 import static ru
.deadsoftware
.cavecraft
.GameScreen
.getHeight
;
10 import static ru
.deadsoftware
.cavecraft
.GameScreen
.getWidth
;
12 public class InputHandlerGame
implements InputProcessor
{
15 private GameInput gameInput
;
17 public InputHandlerGame(GameProc gp
) {
19 this.gameInput
= new GameInput(gp
);
23 public boolean keyDown(int keycode
) {
24 gameInput
.keyDown(keycode
);
29 public boolean keyUp(int keycode
) {
30 gameInput
.keyUp(keycode
);
35 public boolean keyTyped(char character
) {
40 public boolean touchDown(int screenX
, int screenY
, int pointer
, int button
) {
41 screenX
*= gp
.renderer
.getWidth() / getWidth();
42 screenY
*= gp
.renderer
.getHeight() / getHeight();
45 if (screenX
> 26 && screenX
< 52 && screenY
> gp
.renderer
.getHeight() - 52 &&
46 screenY
< gp
.renderer
.getHeight() - 26) {
47 if (gp
.ctrlMode
== 1) gameInput
.keyDown(Input
.Keys
.W
);
48 else gameInput
.keyDown(Input
.Keys
.SPACE
);
49 } else if (screenX
> 0 && screenX
< 26 && screenY
> gp
.renderer
.getHeight() - 26) {
50 gameInput
.keyDown(Input
.Keys
.A
);
51 } else if (screenX
> 26 && screenX
< 52 && screenY
> gp
.renderer
.getHeight() - 26) {
52 if (gp
.ctrlMode
== 1) gameInput
.keyDown(Input
.Keys
.S
);
53 else gameInput
.keyDown(Input
.Keys
.CONTROL_LEFT
);
54 } else if (screenX
> 52 && screenX
< 78 && screenY
> gp
.renderer
.getHeight() - 26) {
55 gameInput
.keyDown(Input
.Keys
.D
);
56 } else if (screenX
> 78 && screenX
< 104 && screenY
> gp
.renderer
.getHeight() - 26) {
57 gameInput
.keyDown(Input
.Keys
.ALT_LEFT
);
58 } else if (screenX
> gp
.renderer
.getWidth() - 52 && screenX
< gp
.renderer
.getWidth() - 26 &&
59 screenY
> gp
.renderer
.getHeight() - 26) {
60 gameInput
.touchDown(screenX
, screenY
, Input
.Buttons
.LEFT
);
61 } else if (screenX
> gp
.renderer
.getWidth() - 26 && screenY
> screenY
- 26) {
62 gameInput
.touchDown(screenX
, screenY
, Input
.Buttons
.RIGHT
);
64 gameInput
.touchDown(screenX
, screenY
, -1);
67 gameInput
.touchDown(screenX
, screenY
, button
);
73 public boolean touchUp(int screenX
, int screenY
, int pointer
, int button
) {
74 screenX
*= gp
.renderer
.getWidth() / getWidth();
75 screenY
*= gp
.renderer
.getHeight() / getHeight();
77 if (screenX
> 26 && screenX
< 52 && screenY
> gp
.renderer
.getHeight() - 52 &&
78 screenY
< gp
.renderer
.getHeight() - 26) {
79 if (gp
.ctrlMode
== 1) gameInput
.keyUp(Input
.Keys
.W
);
80 else gameInput
.keyUp(Input
.Keys
.SPACE
);
81 } else if (screenX
> 0 && screenX
< 26 && screenY
> gp
.renderer
.getHeight() - 26) {
82 gameInput
.keyUp(Input
.Keys
.A
);
83 } else if (screenX
> 26 && screenX
< 52 && screenY
> gp
.renderer
.getHeight() - 26) {
84 if (gp
.ctrlMode
== 1) gameInput
.keyUp(Input
.Keys
.S
);
85 else gameInput
.keyUp(Input
.Keys
.CONTROL_LEFT
);
86 } else if (screenX
> 52 && screenX
< 78 && screenY
> gp
.renderer
.getHeight() - 26) {
87 gameInput
.keyUp(Input
.Keys
.D
);
88 } else if (screenX
> 78 && screenX
< 104 && screenY
> gp
.renderer
.getHeight() - 26) {
89 gameInput
.keyUp(Input
.Keys
.ALT_LEFT
);
90 } else if (screenX
> gp
.renderer
.getWidth() - 52 && screenX
< gp
.renderer
.getWidth() - 26 &&
91 screenY
> gp
.renderer
.getHeight() - 26) {
92 gameInput
.touchUp(screenX
, screenY
, Input
.Buttons
.LEFT
);
93 } else if (screenX
> gp
.renderer
.getWidth() - 26 && screenY
> screenY
- 26) {
94 gameInput
.touchUp(screenX
, screenY
, Input
.Buttons
.RIGHT
);
96 gameInput
.touchUp(screenX
, screenY
, -1);
99 gameInput
.touchUp(screenX
, screenY
, button
);
105 public boolean touchDragged(int screenX
, int screenY
, int pointer
) {
106 screenX
*= gp
.renderer
.getWidth() / getWidth();
107 screenY
*= gp
.renderer
.getHeight() / getHeight();
108 if (gp
.isKeyDown
&& (screenX
> 78 || screenY
< gp
.renderer
.getHeight() - 52)) {
109 gameInput
.keyUp(gp
.keyDownCode
);
111 gameInput
.touchDragged(screenX
, screenY
);
117 public boolean mouseMoved(int screenX
, int screenY
) {
122 public boolean scrolled(int amount
) {
123 gameInput
.scrolled(amount
);