package main; import game.InputController; import java.awt.event.KeyEvent; import javax.swing.JFrame; import org.lwjgl.LWJGLException; /*** * @author Krunoslav Saho * 12/06/2005 * Main.java */ public class EngineMain { private JFrame frame; private GameLoop game; private InputController inputs; public EngineMain(int width, int height, boolean vsync) throws LWJGLException { game = new GameLoop(width, height, vsync); inputs = new InputController(); frame = new JFrame("Test"); frame.add(game); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(width, height); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setAlwaysOnTop(true); game.requestFocus(); inputs.addKeyListenerTo(game); inputs.addMouseListenerTo(game); } public void run() { while(!game.canExit()) { switch(inputs.inputsToProcess()) { case KEYBOARD: this.processKeys(); break; case MOUSE: this.processMouse(); break; case ALL: this.processKeys(); this.processMouse(); break; } Thread.yield(); } System.exit(0); } private void processKeys() { if(inputs.keyPressed(KeyEvent.VK_ESCAPE)) System.exit(0); inputs.clearKeys(); } private void processMouse() { game.setClickCoords(inputs.getClickCoords()); inputs.clearMouse(); } }