DEADSOFTWARE

Start making survival mode
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / game / GameInput.java
index 76e45059dd74a4918a025fa18f443760319d73a3..687c6a9e5e6d919f96ab41b7dc0ee5ffbfd1bd06 100644 (file)
@@ -17,8 +17,8 @@ public class GameInput {
     }
 
     private boolean checkSwim() {
-        return (GameItems.isFluid(gp.world.getForeMap((int) (gp.player.position.x + gp.player.width / 2) / 16,
-                (int) (gp.player.position.y + gp.player.height / 4 * 3) / 16)));
+        return (GameItems.isFluid(gp.world.getForeMap((int) (gp.player.pos.x + gp.player.width / 2) / 16,
+                (int) (gp.player.pos.y + gp.player.height / 4 * 3) / 16)));
     }
 
     private void wasdPressed(int keycode) {
@@ -73,10 +73,10 @@ public class GameInput {
                     gp.swim = true;
                 } else if (gp.player.canJump) {
                     gp.player.move.add(0, -7);
-                } else if (!gp.player.flyMode) {
+                } else if (!gp.player.flyMode && gp.player.gameMode == 1) {
                     gp.player.flyMode = true;
                     gp.player.move.y = 0;
-                } else {
+                } else if (gp.player.flyMode) {
                     gp.player.move.y = -GamePhysics.PL_SPEED;
                 }
                 break;
@@ -86,7 +86,14 @@ public class GameInput {
                 break;
 
             case Input.Keys.E:
-                if (CaveGame.STATE == AppState.GAME_PLAY) CaveGame.STATE = AppState.GAME_CREATIVE_INV;
+                if (CaveGame.STATE == AppState.GAME_PLAY) switch (gp.player.gameMode) {
+                    case 0:
+                        //TODO survival inv
+                        break;
+                    case 1:
+                        CaveGame.STATE = AppState.GAME_CREATIVE_INV;
+                        break;
+                }
                 else CaveGame.STATE = AppState.GAME_PLAY;
                 break;
 
@@ -149,19 +156,19 @@ public class GameInput {
                 if (ix >= 8 || ix < 0 || iy < 0 || iy >= 5) item = -1;
                 if (item >= 0 && item < GameItems.getItemsSize()) {
                     for (int i = 8; i > 0; i--) {
-                        gp.player.inventory[i] = gp.player.inventory[i - 1];
+                        gp.player.inv[i] = gp.player.inv[i - 1];
                     }
-                    gp.player.inventory[0] = item;
+                    gp.player.inv[0] = item;
                 }
             } else if (CaveGame.STATE == AppState.GAME_CREATIVE_INV) {
                 CaveGame.STATE = AppState.GAME_PLAY;
             } else if (screenY < Assets.invBar.getRegionHeight() &&
                     screenX > gp.renderer.getWidth() / 2 - Assets.invBar.getRegionWidth() / 2 &&
                     screenX < gp.renderer.getWidth() / 2 + Assets.invBar.getRegionWidth() / 2) {
-                gp.invSlot = (int) ((screenX - (gp.renderer.getWidth() / 2 - Assets.invBar.getRegionWidth() / 2)) / 20);
+                gp.slot = (int) ((screenX - (gp.renderer.getWidth() / 2 - Assets.invBar.getRegionWidth() / 2)) / 20);
             } else if (button == Input.Buttons.RIGHT) {
                 gp.useItem(gp.curX, gp.curY,
-                        gp.player.inventory[gp.invSlot], false);
+                        gp.player.inv[gp.slot], false);
             } else if (button == Input.Buttons.LEFT) {
                 gp.blockDmg = 0;
             }
@@ -188,9 +195,9 @@ public class GameInput {
     public void scrolled(int amount) {
         switch (CaveGame.STATE) {
             case GAME_PLAY:
-                gp.invSlot += amount;
-                if (gp.invSlot < 0) gp.invSlot = 8;
-                if (gp.invSlot > 8) gp.invSlot = 0;
+                gp.slot += amount;
+                if (gp.slot < 0) gp.slot = 8;
+                if (gp.slot > 8) gp.slot = 0;
                 break;
             case GAME_CREATIVE_INV:
                 gp.creativeScroll += amount;