Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2014
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.68 KB | None | 0 0
  1. package shooter.main;
  2.  
  3. import java.awt.Graphics2D;
  4. import java.util.LinkedList;
  5.  
  6. import shooter.entities.GameObject;
  7. import shooter.entities.Gegner;
  8. import shooter.entities.Player;
  9. import shooter.gfx.ObjectSpriteManager;
  10. import shooter.weapons.ammunition.Ammo;
  11.  
  12. public class Handler {
  13.  
  14.     // List of game objects
  15.     private LinkedList<GameObject> objects = new LinkedList<GameObject>();
  16.     // List of game bullets
  17.     private LinkedList<Ammo> bullets = new LinkedList<Ammo>();
  18.     // Temporary GameObject
  19.     private GameObject tempObject;
  20.     // Temporary Bullet
  21.     private Ammo tempBullet;
  22.     // Game instance
  23.     private Game game;
  24.     // Player Object
  25.     private Player p;
  26.  
  27.     public Handler(Game game) {
  28.         this.game = game;
  29.     }
  30.  
  31.     public void tick() {
  32.         for (int i = 0; i < objects.size(); i++) {
  33.             tempObject = objects.get(i);
  34.             tempObject.tick();
  35.         }
  36.  
  37.         for (int i = 0; i < bullets.size(); i++) {
  38.             tempBullet = bullets.get(i);
  39.             tempBullet.tick();
  40.         }
  41.         checkForCollision();
  42.         checkIfInWindow();
  43.     }
  44.  
  45.     private void checkForCollision() {
  46.         for (int s = 0; s < objects.size(); s++) {
  47.             tempObject = objects.get(s);
  48.             for (int i = 0; i < bullets.size(); i++) {
  49.                 tempBullet = bullets.get(i);
  50.                 if (tempObject.getCol().getBounds2D().intersects(tempBullet.getCol().getBounds2D())) {
  51.                     if (tempObject != getPlayer()) {
  52.                         objects.remove(s);
  53.                     }
  54.                 }
  55.             }
  56.         }
  57.     }
  58.  
  59.     private void checkIfInWindow() {
  60.         for (int i = 0; i < bullets.size(); i++) {
  61.             tempBullet = bullets.get(i);
  62.             if (tempBullet.getX() < 0 || tempBullet.getX() > game.getWidth()
  63.                     || tempBullet.getY() < 0
  64.                     || tempBullet.getY() > game.getHeight()) {
  65.                 bullets.remove(i);
  66.             }
  67.         }
  68.     }
  69.  
  70.     public void render(Graphics2D g2d) {
  71.         for (int i = 0; i < objects.size(); i++) {
  72.             tempObject = objects.get(i);
  73.             tempObject.render(g2d);
  74.         }
  75.  
  76.         for (int i = 0; i < bullets.size(); i++) {
  77.             tempBullet = bullets.get(i);
  78.             tempBullet.render(g2d);
  79.         }
  80.     }
  81.  
  82.     public Player getPlayer() {
  83.         return p;
  84.     }
  85.  
  86.     public void addBullet(Ammo temp) {
  87.         bullets.add(temp);
  88.     }
  89.  
  90.     public void addObject(GameObject temp) {
  91.         objects.add(temp);
  92.     }
  93.  
  94.     public void removeObject(GameObject temp) {
  95.         objects.remove(temp);
  96.     }
  97.  
  98.     public LinkedList<GameObject> getObjects() {
  99.         return objects;
  100.     }
  101.  
  102.     public LinkedList<Ammo> getBullets() {
  103.         return bullets;
  104.     }
  105.  
  106.     public void createObjects() {
  107.         p = new Player(game.getWidth() / 2 - ObjectSpriteManager.SIZE,
  108.                 game.getHeight() / 2 - ObjectSpriteManager.SIZE, 100d,
  109.                 game.getObjectImageManager(), game.getMouseInputHandler(), game);
  110.         addObject(p);
  111.         addObject(new Gegner(100, 200, 100, game.getObjectImageManager(),
  112.                 game.getMouseInputHandler(), game));
  113.     }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement