test/Game.java

changeset 25
f82aa7afe872
parent 24
e43dee5892f4
child 26
05c3c6842aef
     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 -}

mercurial