X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavecraft%2Fgame%2FGameInput.java;h=2b9e1ddb2486ba3c6743e1ff251a3ffb1e30fed7;hb=cef4b5a9985bcbdfea6dc652147ecde0721d7fdc;hp=608ed9f4e93e1f1e45775f88dab29ad1a83875c5;hpb=feb58daa2c3e8126871e9d4f26e978d2fc1fb01c;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavecraft/game/GameInput.java b/core/src/ru/deadsoftware/cavecraft/game/GameInput.java index 608ed9f..2b9e1dd 100644 --- a/core/src/ru/deadsoftware/cavecraft/game/GameInput.java +++ b/core/src/ru/deadsoftware/cavecraft/game/GameInput.java @@ -17,25 +17,24 @@ public class GameInput { } private boolean checkSwim() { - return (Items.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(gp.player.getMapX(), gp.player.getMapY())); } private void wasdPressed(int keycode) { if (gp.ctrlMode == 0 || !CaveGame.TOUCH) { switch (keycode) { case Input.Keys.A: - gp.player.move.x = -GamePhysics.PL_SPEED; - gp.player.dir = 0; + gp.player.mov.x = -GamePhysics.PL_SPEED; + gp.player.setDir(0); if (CaveGame.TOUCH && checkSwim()) gp.swim = true; break; case Input.Keys.D: - gp.player.move.x = GamePhysics.PL_SPEED; - gp.player.dir = 1; + gp.player.mov.x = GamePhysics.PL_SPEED; + gp.player.setDir(1); if (CaveGame.TOUCH && checkSwim()) gp.swim = true; break; } - } else if (CaveGame.TOUCH) { + } else { switch (keycode) { case Input.Keys.A: gp.curX--; @@ -72,21 +71,28 @@ public class GameInput { if (checkSwim()) { gp.swim = true; } else if (gp.player.canJump) { - gp.player.move.add(0, -7); - } else if (!gp.player.flyMode) { + gp.player.mov.add(0, -7); + } else if (!gp.player.flyMode && gp.player.gameMode == 1) { gp.player.flyMode = true; - gp.player.move.y = 0; - } else { - gp.player.move.y = -GamePhysics.PL_SPEED; + gp.player.mov.y = 0; + } else if (gp.player.flyMode) { + gp.player.mov.y = -GamePhysics.PL_SPEED; } break; case Input.Keys.CONTROL_LEFT: - gp.player.move.y = GamePhysics.PL_SPEED; + gp.player.mov.y = GamePhysics.PL_SPEED; 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; @@ -109,13 +115,13 @@ public class GameInput { switch (keycode) { case Input.Keys.A: case Input.Keys.D: - gp.player.move.x = 0; + gp.player.mov.x = 0; if (CaveGame.TOUCH && gp.swim) gp.swim = false; break; case Input.Keys.SPACE: case Input.Keys.CONTROL_LEFT: - if (gp.player.flyMode) gp.player.move.y = 0; + if (gp.player.flyMode) gp.player.mov.y = 0; if (gp.swim) gp.swim = false; break; } @@ -147,21 +153,21 @@ public class GameInput { int iy = (int) (screenY - (gp.renderer.getHeight() / 2 - Assets.creativeInv.getRegionHeight() / 2 + 18)) / 18; int item = gp.creativeScroll * 8 + (ix + iy * 8); if (ix >= 8 || ix < 0 || iy < 0 || iy >= 5) item = -1; - if (item >= 0 && item < Items.items.size()) { + 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 +194,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;