1 | |
---|
2 | |
---|
3 | #include "WagnisProvince.h" |
---|
4 | |
---|
5 | #define WAGNIS_PROVINCE_MAX_HEALTH 1000000.0f |
---|
6 | |
---|
7 | /**TODO |
---|
8 | * |
---|
9 | * |
---|
10 | * |
---|
11 | **/ |
---|
12 | |
---|
13 | namespace orxonox |
---|
14 | { |
---|
15 | RegisterClass(WagnisProvince); |
---|
16 | |
---|
17 | //Constructor |
---|
18 | WagnisProvince::WagnisProvince(Context* context) : Pawn(context){ |
---|
19 | RegisterObject(WagnisProvince); |
---|
20 | this->owner_ID = -1; |
---|
21 | this->troops = 0; |
---|
22 | this->setRadarName(""); |
---|
23 | this->setRadarObjectColour(colour({128,128,128}, 100.0f)); |
---|
24 | this->ID = -1; |
---|
25 | this->continent = -1; |
---|
26 | this->neighbors = std::vector<WagnisProvince*>(); |
---|
27 | |
---|
28 | this->initialHealth_ = WAGNIS_PROVINCE_MAX_HEALTH; |
---|
29 | this->maxHealth_ = WAGNIS_PROVINCE_MAX_HEALTH; |
---|
30 | this->health_ = WAGNIS_PROVINCE_MAX_HEALTH; |
---|
31 | } |
---|
32 | //Destructor |
---|
33 | WagnisProvince::~WagnisProvince(){ |
---|
34 | |
---|
35 | } |
---|
36 | |
---|
37 | //XML Port |
---|
38 | void WagnisProvince::XMLPort(Element& xmlelement,XMLPort::Mode mode){ |
---|
39 | SUPER(WagnisProvince, XMLPort, xmlelement, mode); |
---|
40 | |
---|
41 | XMLPortParam(WagnisProvince, "ID", setID, getID, xmlelement, mode); |
---|
42 | XMLPortParam(WagnisProvince, "continent", setContinent, getContinent, xmlelement, mode); |
---|
43 | } |
---|
44 | |
---|
45 | |
---|
46 | |
---|
47 | |
---|
48 | //SET() |
---|
49 | |
---|
50 | //set owner_ID |
---|
51 | void WagnisProvince::setOwner_ID(int owner){ |
---|
52 | this->owner_ID = owner; |
---|
53 | switch(owner){ |
---|
54 | case 1: this->setRadarObjectColour( colour({255,0,0}, 100.0f) ); |
---|
55 | break; |
---|
56 | case 2: this->setRadarObjectColour( colour({0,255,0}, 100.0f) ); |
---|
57 | break; |
---|
58 | case 3: this->setRadarObjectColour( colour({255,255,0}, 100.0f) ); |
---|
59 | break; |
---|
60 | case 4: this->setRadarObjectColour( colour({0,0,255}, 100.0f) ); |
---|
61 | break; |
---|
62 | case 5: this->setRadarObjectColour( colour({255,0,255}, 100.0f) ); |
---|
63 | break; |
---|
64 | case 6: this->setRadarObjectColour( colour({128,128,0}, 40.0f) ); |
---|
65 | break; |
---|
66 | case 7: this->setRadarObjectColour( colour({0,255,255}, 100.0f) ); |
---|
67 | break; |
---|
68 | case 8: this->setRadarObjectColour( colour({153,255,204}, 100.0f) ); |
---|
69 | break; |
---|
70 | case 9: this->setRadarObjectColour( colour({102,51,0}, 100.0f) ); |
---|
71 | break; |
---|
72 | } |
---|
73 | |
---|
74 | } |
---|
75 | //highlight a province |
---|
76 | void WagnisProvince::highlight(){ |
---|
77 | this->setRadarObjectColour( colour({255,255,255}, 100.0f) ); |
---|
78 | } |
---|
79 | //dehighlight a province |
---|
80 | void WagnisProvince::dehighlight(){ |
---|
81 | this->setOwner_ID( this->getOwner_ID() ); |
---|
82 | } |
---|
83 | |
---|
84 | |
---|
85 | |
---|
86 | |
---|
87 | //set troops |
---|
88 | void WagnisProvince::setTroops(int troops){ |
---|
89 | this->troops = troops; |
---|
90 | this->setRadarName(std::to_string(troops)); |
---|
91 | } |
---|
92 | //set ID |
---|
93 | void WagnisProvince::setID(int id){ |
---|
94 | this->ID = id; |
---|
95 | } |
---|
96 | //set Continent |
---|
97 | void WagnisProvince::setContinent(int cont){ |
---|
98 | this->continent = cont; |
---|
99 | } |
---|
100 | |
---|
101 | |
---|
102 | //GET() |
---|
103 | |
---|
104 | //get owner_ID |
---|
105 | int WagnisProvince::getOwner_ID() const{ |
---|
106 | return this->owner_ID; |
---|
107 | } |
---|
108 | //get troops |
---|
109 | int WagnisProvince::getTroops() const{ |
---|
110 | return this->troops; |
---|
111 | } |
---|
112 | //get ID |
---|
113 | int WagnisProvince::getID() const{ |
---|
114 | return this->ID; |
---|
115 | } |
---|
116 | //get continent |
---|
117 | int WagnisProvince::getContinent() const{ |
---|
118 | return this-> continent; |
---|
119 | } |
---|
120 | |
---|
121 | //Adds a connection to neighbors. |
---|
122 | void WagnisProvince::addNeighbor(WagnisProvince* prov){ |
---|
123 | neighbors.push_back(prov); |
---|
124 | } |
---|
125 | } |
---|