package de.miaurizius.jgame2d.core; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; public class KeyHandler implements KeyListener { public boolean upPressed, downPressed, leftPressed, rightPressed; public GamePanel panel; // DEBUG public boolean checkDrawTime = false; public KeyHandler(GamePanel panel) { this.panel = panel; } @Override public void keyTyped(KeyEvent e) {} @Override public void keyPressed(KeyEvent e) { int code = e.getKeyCode(); switch (code) { // CONTROLS case KeyEvent.VK_W, KeyEvent.VK_UP -> upPressed = true; case KeyEvent.VK_S, KeyEvent.VK_DOWN -> downPressed = true; case KeyEvent.VK_A, KeyEvent.VK_LEFT -> leftPressed = true; case KeyEvent.VK_D, KeyEvent.VK_RIGHT -> rightPressed = true; // DEBUG OPTIONS case KeyEvent.VK_T -> checkDrawTime = !checkDrawTime; // GAME STATES case KeyEvent.VK_ESCAPE -> panel.gameState = (panel.gameState == GameState.PAUSE) ? GameState.PLAY : GameState.PAUSE; } } @Override public void keyReleased(KeyEvent e) { int code = e.getKeyCode(); switch (code) { case KeyEvent.VK_W, KeyEvent.VK_UP -> upPressed = false; case KeyEvent.VK_S, KeyEvent.VK_DOWN -> downPressed = false; case KeyEvent.VK_A, KeyEvent.VK_LEFT -> leftPressed = false; case KeyEvent.VK_D, KeyEvent.VK_RIGHT -> rightPressed = false; } } }