1 package se
.umu
.cs
.dit06ajnajs
.agent
;
3 import java
.awt
.Graphics
;
6 import java
.util
.ArrayList
;
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
{
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
) {
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
) {
49 public int getRange() {
53 public Point
getCenterPoint() {
54 return new Point(xPos
+ (width
/ 2),
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...");