workspace
[random-projects:adastra.git] / src / AdAstra / MapAsset.java
1 package AdAstra;
2
3 import java.awt.*;
4 import java.util.ArrayList;
5 import java.util.Collection;
6
7 /**
8  * Created by IntelliJ IDEA.
9  * User: webpigeon
10  * Date: 27/12/10
11  * Time: 02:43
12  * To change this template use File | Settings | File Templates.
13  */
14 public class MapAsset{
15     protected String name;
16     protected Player owner;
17     protected Point location;
18     protected Polygon bounds;
19     protected Collection<Component> components;
20
21     //position related
22     protected int sides = 6;
23     protected int radius = 50;
24
25     public MapAsset(String name, Player owner, Point location, int sides, int radius) {
26         this.name = name;
27         this.owner = owner;
28         this.bounds = new Polygon();
29         this.components = new ArrayList<Component>();
30         this.sides = sides;
31         this.radius = radius;
32         setLocation(location);
33     }
34
35     public String getName(){
36         return name;
37     }
38
39     public String getType(){
40         return "mapasset";
41     }
42
43 <<<<<<< HEAD
44     public Color getColor(){
45         return Color.white;
46     }
47
48 =======
49 >>>>>>> de86cdd8aea5f4578a2bcf89b9015f9a23a1d1d5
50     public void setOwner(Player p){}
51     public Player getOwner(){
52         return owner;
53     }
54
55     public void setLocation(Point p){
56         location = p;
57         bounds.reset();
58
59         //update the bounds of the shape
60         double angle = 360.0/sides;
61         for(int i=0; i<sides; i++){
62             int y = (int)(Math.sin(Math.toRadians(angle*i)) * radius);
63             int x = (int)(Math.cos(Math.toRadians(angle*i)) * radius);
64             bounds.addPoint(p.x+x, p.y+y);
65         }
66     }
67
68     public Point getLocation(){
69         return location;
70     }
71
72     public boolean inBounds(Point p){
73         return bounds.contains(p);
74     }
75
76     public Polygon getPolygon(){
77         return bounds;
78     }
79
80     public void addComponent(Component c){}
81
82     public boolean hasComponent(Component c){
83         return false;
84     }
85
86     public Collection<Component> getComponents(){
87         return null;
88     }
89
90     public Action[] getActions(){
91         return null;
92     }
93
94     public boolean equals(Object o){
95         return false;
96     }
97
98     public String toString(){
99         return "test asset";
100     }
101
102 }