DEADSOFTWARE

Optimization
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / misc / InputHandlerGame.java
index 9978e0c99a9edebe2b7620bf07d6bf43c5210036..6a912ac355f4d5145e144d68d84b6d785cfc8ebf 100644 (file)
@@ -11,16 +11,12 @@ import static ru.deadsoftware.cavecraft.GameScreen.getWidth;
 
 public class InputHandlerGame implements InputProcessor {
 
-    private GameProc gameProc;
+    private GameProc gp;
     private GameInput gameInput;
 
-    private float tWidth, tHeight;
-
-    public InputHandlerGame(GameProc gameProc) {
-        this.gameProc = gameProc;
-        this.gameInput = new GameInput(gameProc);
-        tWidth = gameProc.renderer.camera.viewportWidth;
-        tHeight = gameProc.renderer.camera.viewportHeight;
+    public InputHandlerGame(GameProc gp) {
+        this.gp = gp;
+        this.gameInput = new GameInput(gp);
     }
 
     @Override
@@ -42,27 +38,27 @@ public class InputHandlerGame implements InputProcessor {
 
     @Override
     public boolean touchDown(int screenX, int screenY, int pointer, int button) {
-        int tx = (int) (screenX * tWidth / getWidth());
-        int ty = (int) (screenY * tHeight / getHeight());
-        screenX *= gameProc.renderer.camera.viewportWidth / getWidth();
-        screenY *= gameProc.renderer.camera.viewportHeight / getHeight();
+        screenX *= gp.renderer.getWidth() / getWidth();
+        screenY *= gp.renderer.getHeight() / getHeight();
 
         if (CaveGame.TOUCH) {
-            if (tx > 26 && tx < 52 && ty > tHeight - 52 && ty < tHeight - 26) {
-                if (gameProc.ctrlMode == 1) gameInput.keyDown(Input.Keys.W);
+            if (screenX > 26 && screenX < 52 && screenY > gp.renderer.getHeight() - 52 &&
+                    screenY < gp.renderer.getHeight() - 26) {
+                if (gp.ctrlMode == 1) gameInput.keyDown(Input.Keys.W);
                 else gameInput.keyDown(Input.Keys.SPACE);
-            } else if (tx > 0 && tx < 26 && ty > tHeight - 26) {
+            } else if (screenX > 0 && screenX < 26 && screenY > gp.renderer.getHeight() - 26) {
                 gameInput.keyDown(Input.Keys.A);
-            } else if (tx > 26 && tx < 52 && ty > tHeight - 26) {
-                if (gameProc.ctrlMode == 1) gameInput.keyDown(Input.Keys.S);
+            } else if (screenX > 26 && screenX < 52 && screenY > gp.renderer.getHeight() - 26) {
+                if (gp.ctrlMode == 1) gameInput.keyDown(Input.Keys.S);
                 else gameInput.keyDown(Input.Keys.CONTROL_LEFT);
-            } else if (tx > 52 && tx < 78 && ty > tHeight - 26) {
+            } else if (screenX > 52 && screenX < 78 && screenY > gp.renderer.getHeight() - 26) {
                 gameInput.keyDown(Input.Keys.D);
-            } else if (tx > 78 && tx < 104 && ty > tHeight - 26) {
+            } else if (screenX > 78 && screenX < 104 && screenY > gp.renderer.getHeight() - 26) {
                 gameInput.keyDown(Input.Keys.ALT_LEFT);
-            } else if (tx > tWidth - 52 && tx < tWidth - 26 && ty > tHeight - 26) {
+            } else if (screenX > gp.renderer.getWidth() - 52 && screenX < gp.renderer.getWidth() - 26 &&
+                    screenY > gp.renderer.getHeight() - 26) {
                 gameInput.touchDown(screenX, screenY, Input.Buttons.LEFT);
-            } else if (tx > tWidth - 26 && screenY > ty - 26) {
+            } else if (screenX > gp.renderer.getWidth() - 26 && screenY > screenY - 26) {
                 gameInput.touchDown(screenX, screenY, Input.Buttons.RIGHT);
             } else {
                 gameInput.touchDown(screenX, screenY, -1);
@@ -75,26 +71,26 @@ public class InputHandlerGame implements InputProcessor {
 
     @Override
     public boolean touchUp(int screenX, int screenY, int pointer, int button) {
-        int tx = (int) (screenX * tWidth / getWidth());
-        int ty = (int) (screenY * tHeight / getHeight());
-        screenX *= gameProc.renderer.camera.viewportWidth / getWidth();
-        screenY *= gameProc.renderer.camera.viewportHeight / getHeight();
+        screenX *= gp.renderer.getWidth() / getWidth();
+        screenY *= gp.renderer.getHeight() / getHeight();
         if (CaveGame.TOUCH) {
-            if (tx > 26 && tx < 52 && ty > tHeight - 52 && ty < tHeight - 26) {
-                if (gameProc.ctrlMode == 1) gameInput.keyUp(Input.Keys.W);
+            if (screenX > 26 && screenX < 52 && screenY > gp.renderer.getHeight() - 52 &&
+                    screenY < gp.renderer.getHeight() - 26) {
+                if (gp.ctrlMode == 1) gameInput.keyUp(Input.Keys.W);
                 else gameInput.keyUp(Input.Keys.SPACE);
-            } else if (tx > 0 && tx < 26 && ty > tHeight - 26) {
+            } else if (screenX > 0 && screenX < 26 && screenY > gp.renderer.getHeight() - 26) {
                 gameInput.keyUp(Input.Keys.A);
-            } else if (tx > 26 && tx < 52 && ty > tHeight - 26) {
-                if (gameProc.ctrlMode == 1) gameInput.keyUp(Input.Keys.S);
+            } else if (screenX > 26 && screenX < 52 && screenY > gp.renderer.getHeight() - 26) {
+                if (gp.ctrlMode == 1) gameInput.keyUp(Input.Keys.S);
                 else gameInput.keyUp(Input.Keys.CONTROL_LEFT);
-            } else if (tx > 52 && tx < 78 && ty > tHeight - 26) {
+            } else if (screenX > 52 && screenX < 78 && screenY > gp.renderer.getHeight() - 26) {
                 gameInput.keyUp(Input.Keys.D);
-            } else if (tx > 78 && tx < 104 && ty > tHeight - 26) {
+            } else if (screenX > 78 && screenX < 104 && screenY > gp.renderer.getHeight() - 26) {
                 gameInput.keyUp(Input.Keys.ALT_LEFT);
-            } else if (tx > tWidth - 52 && tx < tWidth - 26 && ty > tHeight - 26) {
+            } else if (screenX > gp.renderer.getWidth() - 52 && screenX < gp.renderer.getWidth() - 26 &&
+                    screenY > gp.renderer.getHeight() - 26) {
                 gameInput.touchUp(screenX, screenY, Input.Buttons.LEFT);
-            } else if (tx > tWidth - 26 && screenY > ty - 26) {
+            } else if (screenX > gp.renderer.getWidth() - 26 && screenY > screenY - 26) {
                 gameInput.touchUp(screenX, screenY, Input.Buttons.RIGHT);
             } else {
                 gameInput.touchUp(screenX, screenY, -1);
@@ -107,10 +103,10 @@ public class InputHandlerGame implements InputProcessor {
 
     @Override
     public boolean touchDragged(int screenX, int screenY, int pointer) {
-        screenX *= gameProc.renderer.camera.viewportWidth / getWidth();
-        screenY *= gameProc.renderer.camera.viewportHeight / getHeight();
-        if (gameProc.isKeyDown && (screenX > 78 || screenY < gameProc.renderer.getHeight() - 52)) {
-            gameInput.keyUp(gameProc.keyDownCode);
+        screenX *= gp.renderer.getWidth() / getWidth();
+        screenY *= gp.renderer.getHeight() / getHeight();
+        if (gp.isKeyDown && (screenX > 78 || screenY < gp.renderer.getHeight() - 52)) {
+            gameInput.keyUp(gp.keyDownCode);
         } else {
             gameInput.touchDragged(screenX, screenY);
         }
@@ -119,9 +115,6 @@ public class InputHandlerGame implements InputProcessor {
 
     @Override
     public boolean mouseMoved(int screenX, int screenY) {
-        screenX *= gameProc.renderer.camera.viewportWidth / getWidth();
-        screenY *= gameProc.renderer.camera.viewportHeight / getHeight();
-        gameInput.mouseMoved(screenX, screenY);
         return false;
     }