#include "WagnisProvince.h" #define WAGNIS_PROVINCE_MAX_HEALTH 1000000.0f /**TODO * * * **/ namespace orxonox { RegisterClass(WagnisProvince); //Constructor WagnisProvince::WagnisProvince(Context* context) : Pawn(context){ RegisterObject(WagnisProvince); this->owner_ID = -1; this->troops = 0; this->setRadarName(std::to_string(0)); this->setRadarObjectColour(colour({128,128,128}, 100.0f)); this->ID = -1; this->continent = -1; this->neighbors = std::vector(); this->initialHealth_ = WAGNIS_PROVINCE_MAX_HEALTH; this->maxHealth_ = WAGNIS_PROVINCE_MAX_HEALTH; this->health_ = WAGNIS_PROVINCE_MAX_HEALTH; } //Destructor WagnisProvince::~WagnisProvince(){ } //XML Port void WagnisProvince::XMLPort(Element& xmlelement,XMLPort::Mode mode){ SUPER(WagnisProvince, XMLPort, xmlelement, mode); XMLPortParam(WagnisProvince, "ID", setID, getID, xmlelement, mode); XMLPortParam(WagnisProvince, "continent", setContinent, getContinent, xmlelement, mode); } //SET() //set owner_ID void WagnisProvince::setOwner_ID(int owner){ this->owner_ID = owner; switch(owner){ case 1: this->setRadarObjectColour( colour({255,0,0}, 100.0f) ); break; case 2: this->setRadarObjectColour( colour({0,255,0}, 100.0f) ); break; case 3: this->setRadarObjectColour( colour({255,255,0}, 100.0f) ); break; case 4: this->setRadarObjectColour( colour({0,0,255}, 100.0f) ); break; case 5: this->setRadarObjectColour( colour({255,0,255}, 100.0f) ); break; case 6: this->setRadarObjectColour( colour({128,128,0}, 40.0f) ); break; case 7: this->setRadarObjectColour( colour({0,255,255}, 100.0f) ); break; case 8: this->setRadarObjectColour( colour({153,255,204}, 100.0f) ); break; case 9: this->setRadarObjectColour( colour({102,51,0}, 100.0f) ); break; } } //highlight a province void WagnisProvince::highlight(){ this->setRadarObjectColour( colour({255,255,255}, 100.0f) ); } //dehighlight a province void WagnisProvince::dehighlight(){ this->setOwner_ID( this->getOwner_ID() ); } //set troops void WagnisProvince::setTroops(int troops){ this->troops = troops; this->setRadarName(std::to_string(troops)); } //set ID void WagnisProvince::setID(int id){ this->ID = id; } //set Continent void WagnisProvince::setContinent(int cont){ this->continent = cont; } //GET() //get owner_ID int WagnisProvince::getOwner_ID() const{ return this->owner_ID; } //get troops int WagnisProvince::getTroops() const{ return this->troops; } //get ID int WagnisProvince::getID() const{ return this->ID; } //get continent int WagnisProvince::getContinent() const{ return this-> continent; } //Adds a connection to neighbors. void WagnisProvince::addNeighbor(WagnisProvince* prov){ neighbors.push_back(prov); } }