1.1 --- a/test/Game.java Sun Apr 19 10:48:00 2015 +0200 1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1.3 @@ -1,94 +0,0 @@ 1.4 -package de.uapcore.threelittlestars; 1.5 - 1.6 -import java.awt.BorderLayout; 1.7 -import java.io.IOException; 1.8 - 1.9 -import javax.swing.JFrame; 1.10 -import javax.swing.JOptionPane; 1.11 - 1.12 -import de.uapcore.threelittlestars.entities.Player; 1.13 -import de.uapcore.threelittlestars.entities.Player.PlayerCharacter; 1.14 -import de.uapcore.threelittlestars.managers.AssetManager; 1.15 -import de.uapcore.threelittlestars.managers.InputManager; 1.16 -import de.uapcore.threelittlestars.managers.WorldManager; 1.17 -import de.uapcore.threelittlestars.renderers.GameRenderer; 1.18 - 1.19 - 1.20 -public class Game implements Runnable { 1.21 - 1.22 - public static final int TICK_RATE = 32; 1.23 - 1.24 - private InputManager im; 1.25 - private AssetManager am; 1.26 - private WorldManager wm; 1.27 - 1.28 - private MainFrame frame; 1.29 - private MainPanel canvas; 1.30 - 1.31 - public Game(MainFrame frame, PlayerCharacter playerCharacter) { 1.32 - 1.33 - this.frame = frame; 1.34 - canvas = new MainPanel(); 1.35 - 1.36 - am = new AssetManager(canvas); 1.37 - wm = new WorldManager(am); 1.38 - im = new InputManager(); 1.39 - 1.40 - canvas.setRenderer(new GameRenderer(wm)); 1.41 - canvas.addKeyListener(im); 1.42 - 1.43 - frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); 1.44 - frame.add(canvas, BorderLayout.CENTER); 1.45 - frame.pack(); 1.46 - canvas.requestFocusInWindow(); 1.47 - 1.48 - try { 1.49 - startGame(playerCharacter); 1.50 - } catch (IOException e) { 1.51 - JOptionPane.showMessageDialog(frame, "Die Weltdaten sind beschÃĪdigt.", 1.52 - frame.getTitle(), JOptionPane.ERROR_MESSAGE); 1.53 - System.exit(1); 1.54 - } 1.55 - } 1.56 - 1.57 - public void startGame(PlayerCharacter character) throws IOException { 1.58 - Player.setCharacter(character); 1.59 - 1.60 - // TODO: asset / savegame loading 1.61 - wm.loadAsset("testworld"); // just testing here 1.62 - 1.63 - new Thread(this).start(); 1.64 - } 1.65 - 1.66 - @Override 1.67 - public void run() { 1.68 - long lastTick = System.currentTimeMillis(); 1.69 - do { 1.70 - long currentTick = System.currentTimeMillis(); 1.71 - if (currentTick - lastTick >= TICK_RATE) { 1.72 - lastTick += TICK_RATE; 1.73 - 1.74 - // Deliver buffered input events 1.75 - im.deliverEvents(wm); 1.76 - 1.77 - // Call updates 1.78 - wm.update(); 1.79 - 1.80 - // Catch other key events 1.81 - if (im.isEscapePressed()) { 1.82 - frame.setVisible(false); 1.83 - } 1.84 - 1.85 - 1.86 - // Repaint canvas 1.87 - canvas.repaint(); 1.88 - } 1.89 - Thread.yield(); 1.90 - } while (frame.isVisible()); 1.91 - 1.92 - // Cleanup stuff 1.93 - frame.dispose(); 1.94 - System.exit(0); 1.95 - } 1.96 - 1.97 -}