diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/GameSceneController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/GameSceneController.java index 9f8d05f8e5d98cdf18f44ecb7408c496f55a7641..f812d0d04a4d76d6e6256bfadfaa1353b97770bf 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/GameSceneController.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/GameSceneController.java @@ -97,9 +97,11 @@ public class GameSceneController implements Initializable { AnimationTimer gameLoop = new AnimationTimer() { @Override public void handle(long l) { - graphicsContext2D.clearRect(0, 0, canvas2D.getWidth(), canvas2D.getHeight()); - renderContent(graphicsContext2D); - updateContent(); + if (!inputHandler.isPause()) { + graphicsContext2D.clearRect(0, 0, canvas2D.getWidth(), canvas2D.getHeight()); + renderContent(graphicsContext2D); + updateContent(); + } } }; gameLoop.start(); @@ -138,4 +140,4 @@ public class GameSceneController implements Initializable { public int getScaledTileSize() { return scaledTileSize; } -} +} \ No newline at end of file diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Inputs/InputHandler.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Inputs/InputHandler.java index e307c3892690a66a62de3743814b882d0dea5a24..619475fd0efe408e8a82d4a020a599f6fb87a6c5 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Inputs/InputHandler.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Inputs/InputHandler.java @@ -18,39 +18,47 @@ public class InputHandler { return inputHandler; } - //Local Player/Player one controls + //general input + private boolean isPause = false; + + //Local + Network Player one controls private boolean moveUp, moveDown, moveLeft, moveRight, attack, bomb; //Local player two controls - private boolean sdMoveUp, sdMoveDown, sdMoveLeft, sdMoveRight, sdAttack, sdbomb; + private boolean sdMoveUp, sdMoveDown, sdMoveLeft, sdMoveRight, sdAttack, sdBomb; public void handleKeyPress(KeyEvent event) { KeyCode code = event.getCode(); switch (code) { + case ESCAPE: + isPause = !isPause; + log.debug("Pause button pressed"); + break; case W: moveUp = true; - log.debug("Player move up"); + log.debug("Player one move up"); break; case S: moveDown = true; - log.debug("Player move down"); + log.debug("Player one move down"); break; case A: moveLeft = true; - log.debug("Player move left"); + log.debug("Player one move left"); break; case D: moveRight = true; - log.debug("Player move right"); + log.debug("Player one move right"); break; case E: attack = true; - log.debug("Player attack"); + log.debug("Player one attack"); break; case Q: bomb = true; break; + //inputs for second player case UP: sdMoveUp = true; break; @@ -67,7 +75,7 @@ public class InputHandler { sdAttack = true; break; case CONTROL: - sdbomb = true; + sdBomb = true; break; } } @@ -94,6 +102,7 @@ public class InputHandler { case Q: bomb = false; break; + //inputs for second player case UP: sdMoveUp = false; break; @@ -110,11 +119,15 @@ public class InputHandler { sdAttack = false; break; case CONTROL: - sdbomb = false; + sdBomb = false; break; } } + public boolean isPause() { + return isPause; + } + public boolean isMoveUp() { return moveUp; } @@ -154,11 +167,12 @@ public class InputHandler { public boolean isSdAttack() { return sdAttack; } + public boolean isBomb(){ return bomb; } + public boolean isSdBomb(){ - return sdbomb; + return sdBomb; } - } \ No newline at end of file