NÄgra spÄrutskrifter...
[AntiTD.git] / src / se / umu / cs / dit06ajnajs / agent / Tower.java
blob94428920e203e10f09f1a247955a0b436dc76b69
1 package se.umu.cs.dit06ajnajs.agent;
3 import java.awt.Graphics;
4 import java.awt.Image;
5 import java.awt.Point;
6 import java.util.ArrayList;
7 import java.util.List;
8 import java.util.Observable;
9 import java.util.Observer;
10 import java.util.logging.Logger;
12 import se.umu.cs.dit06ajnajs.Paintable;
14 public abstract class Tower implements Paintable, Agent, Observer {
16 protected int xPos;
17 protected int yPos;
19 protected int width;
20 protected int height;
22 protected int damage;
23 protected int range;
24 protected Image image;
26 private List<Unit> fireingList;
27 private static Logger logger = Logger.getLogger("AntiTD");
29 public Tower(int width, int height, int damage, int range) {
30 this.width = width;
31 this.height = height;
33 this.damage = damage;
34 this.range = range;
36 this.fireingList = new ArrayList<Unit>();
37 // TODO this.image = img;
40 public void setImage(Image img) {
41 // TODO Implement method
44 public void setPostition(Point p) {
45 this.xPos = p.x;
46 this.yPos = p.y;
49 public int getRange() {
50 return this.range;
53 public Point getCenterPoint() {
54 return new Point(xPos + (width / 2),
55 yPos - (height / 2));
58 public void act() {
59 if (!fireingList.isEmpty()) {
60 Unit unit = fireingList.get(0);
61 // TODO fire 'n' stuff
62 logger.info("Fiiiireeeee!!!!");
66 public void update(Observable caller, Object arg) {
67 // TODO Auto-generated method stub
68 // Should always be units
69 if (arg instanceof Unit) {
70 Unit unit = (Unit) arg;
71 if (!fireingList.contains(unit)) {
72 fireingList.add(unit);
73 logger.info("Unit >" + unit.getClass().getSimpleName() +
74 "< added to tower...");