Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package shooter.main;
- import java.awt.Graphics2D;
- import java.util.LinkedList;
- import shooter.entities.GameObject;
- import shooter.entities.Gegner;
- import shooter.entities.Player;
- import shooter.gfx.ObjectSpriteManager;
- import shooter.weapons.ammunition.Ammo;
- public class Handler {
- // List of game objects
- private LinkedList<GameObject> objects = new LinkedList<GameObject>();
- // List of game bullets
- private LinkedList<Ammo> bullets = new LinkedList<Ammo>();
- // Temporary GameObject
- private GameObject tempObject;
- // Temporary Bullet
- private Ammo tempBullet;
- // Game instance
- private Game game;
- // Player Object
- private Player p;
- public Handler(Game game) {
- this.game = game;
- }
- public void tick() {
- for (int i = 0; i < objects.size(); i++) {
- tempObject = objects.get(i);
- tempObject.tick();
- }
- for (int i = 0; i < bullets.size(); i++) {
- tempBullet = bullets.get(i);
- tempBullet.tick();
- }
- checkForCollision();
- checkIfInWindow();
- }
- private void checkForCollision() {
- for (int s = 0; s < objects.size(); s++) {
- tempObject = objects.get(s);
- for (int i = 0; i < bullets.size(); i++) {
- tempBullet = bullets.get(i);
- if (tempObject.getCol().getBounds2D().intersects(tempBullet.getCol().getBounds2D())) {
- if (tempObject != getPlayer()) {
- objects.remove(s);
- }
- }
- }
- }
- }
- private void checkIfInWindow() {
- for (int i = 0; i < bullets.size(); i++) {
- tempBullet = bullets.get(i);
- if (tempBullet.getX() < 0 || tempBullet.getX() > game.getWidth()
- || tempBullet.getY() < 0
- || tempBullet.getY() > game.getHeight()) {
- bullets.remove(i);
- }
- }
- }
- public void render(Graphics2D g2d) {
- for (int i = 0; i < objects.size(); i++) {
- tempObject = objects.get(i);
- tempObject.render(g2d);
- }
- for (int i = 0; i < bullets.size(); i++) {
- tempBullet = bullets.get(i);
- tempBullet.render(g2d);
- }
- }
- public Player getPlayer() {
- return p;
- }
- public void addBullet(Ammo temp) {
- bullets.add(temp);
- }
- public void addObject(GameObject temp) {
- objects.add(temp);
- }
- public void removeObject(GameObject temp) {
- objects.remove(temp);
- }
- public LinkedList<GameObject> getObjects() {
- return objects;
- }
- public LinkedList<Ammo> getBullets() {
- return bullets;
- }
- public void createObjects() {
- p = new Player(game.getWidth() / 2 - ObjectSpriteManager.SIZE,
- game.getHeight() / 2 - ObjectSpriteManager.SIZE, 100d,
- game.getObjectImageManager(), game.getMouseInputHandler(), game);
- addObject(p);
- addObject(new Gegner(100, 200, 100, game.getObjectImageManager(),
- game.getMouseInputHandler(), game));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement