diff --git a/core/src/ru/deadsoftware/cavecraft/game/GameInput.java b/core/src/ru/deadsoftware/cavecraft/game/GameInput.java
index 9aa90f2b1d335a64d16e1e49ac8bbf3f39366e80..c868a8adcb4250bb29c3ccd51127ec6844a3fefb 100644 (file)
import com.badlogic.gdx.Input;
import com.badlogic.gdx.utils.TimeUtils;
import ru.deadsoftware.cavecraft.CaveGame;
+import ru.deadsoftware.cavecraft.GameScreen;
+import ru.deadsoftware.cavecraft.game.mobs.FallingSand;
import ru.deadsoftware.cavecraft.game.mobs.Pig;
import ru.deadsoftware.cavecraft.misc.AppState;
import ru.deadsoftware.cavecraft.misc.Assets;
this.gameProc = gameProc;
}
+ private boolean checkSwim() {
+ return (CaveGame.TOUCH && Items.isFluid(gameProc.world.getForeMap((int)(gameProc.player.position.x+gameProc.player.width/2)/16,
+ (int)(gameProc.player.position.y+gameProc.player.height/4*3)/16)));
+ }
+
private void wasdPressed(int keycode) {
if (gameProc.ctrlMode==0 || !CaveGame.TOUCH) {
switch (keycode) {
break;
case Input.Keys.SPACE:
- if (gameProc.player.canJump) {
+ if (checkSwim()) {
+ gameProc.swim = true;
+ } else if (gameProc.player.canJump) {
gameProc.player.moveY.add(0, -7);
} else if (!gameProc.player.flyMode) {
gameProc.player.flyMode = true;
case Input.Keys.ESCAPE: case Input.Keys.BACK:
CaveGame.STATE = AppState.GOTO_MENU;
break;
+
+ case Input.Keys.F1:
+ GameScreen.SHOW_DEBUG = !GameScreen.SHOW_DEBUG;
+ break;
}
}
switch (keycode) {
case Input.Keys.A: case Input.Keys.D:
gameProc.player.moveX.x = 0;
+ if (gameProc.swim) gameProc.swim = false;
break;
case Input.Keys.SPACE: case Input.Keys.CONTROL_LEFT:
if (gameProc.player.flyMode) gameProc.player.moveY.setZero();
+ if (gameProc.swim) gameProc.swim = false;
break;
}
}
}
public void touchUp(int screenX, int screenY, int button) {
- if (gameProc.isKeyDown) {
+ if (CaveGame.TOUCH && gameProc.isKeyDown) {
keyUp(gameProc.keyDownCode);
gameProc.isKeyDown = false;
}