[Orxonox-commit 7443] r12050 - code/branches/wagnis_HS18/src/modules/wagnis

stadlero at orxonox.net stadlero at orxonox.net
Sun Oct 21 14:54:21 CEST 2018


Author: stadlero
Date: 2018-10-21 14:54:21 +0200 (Sun, 21 Oct 2018)
New Revision: 12050

Modified:
   code/branches/wagnis_HS18/src/modules/wagnis/WagnisGameboard.cc
   code/branches/wagnis_HS18/src/modules/wagnis/WagnisGameboard.h
   code/branches/wagnis_HS18/src/modules/wagnis/WagnisProvince.cc
Log:
Eine XMLPort Funktion in der Gameboard-Klasse hinzugefugt

Modified: code/branches/wagnis_HS18/src/modules/wagnis/WagnisGameboard.cc
===================================================================
--- code/branches/wagnis_HS18/src/modules/wagnis/WagnisGameboard.cc	2018-10-21 11:28:52 UTC (rev 12049)
+++ code/branches/wagnis_HS18/src/modules/wagnis/WagnisGameboard.cc	2018-10-21 12:54:21 UTC (rev 12050)
@@ -17,17 +17,37 @@
     WagnisGameboard::WagnisGameboard(Context* context) : StaticEntity(context){
         RegisterObject(WagnisGameboard);
     }
+
     WagnisGameboard::~WagnisGameboard(){
+        for(WagnisProvince* prov:this->provs){
+            prov->destroy(); //destroys all Provinces
+        }
+    }
 
-    }
+
+
     //XML Port
-    void WagnisGameboard::XMLPort(Element& element,XMLPort::Mode mode){
-        
+    void WagnisGameboard::XMLPort(Element& xmlelement,XMLPort::Mode mode){
+
+        XMLPortObject(WagnisGameboard, WagnisProvince, "Province", addProvince, getProvince, xmlelement, mode);
     }
+    //XML add province
+    //Adds a Province to the Gameboard
+    void WagnisGameboard::addProvince(WagnisProvince* province){
+        this->provs.push_back(province);
+    }
+    //XML get province
+    WagnisProvince* WagnisGameboard::getProvince(unsigned int index) const{
+        if(this->provs.size() <= index) return nullptr;
+        return this->provs.at(index);
+    }
+
+
+
     void WagnisGameboard::setPosition(const Vector3&){
-
+        //TODO
     }
     void WagnisGameboard::setOrientation(const Quaternion&){
-
+        //TODO
     }
 }
\ No newline at end of file

Modified: code/branches/wagnis_HS18/src/modules/wagnis/WagnisGameboard.h
===================================================================
--- code/branches/wagnis_HS18/src/modules/wagnis/WagnisGameboard.h	2018-10-21 11:28:52 UTC (rev 12049)
+++ code/branches/wagnis_HS18/src/modules/wagnis/WagnisGameboard.h	2018-10-21 12:54:21 UTC (rev 12050)
@@ -24,7 +24,12 @@
     public:
         WagnisGameboard(Context*);
         virtual ~WagnisGameboard();
+
+        //XML
         virtual void XMLPort(Element&,XMLPort::Mode);
+        void addProvince(WagnisProvince*);
+        WagnisProvince* getProvince(unsigned int) const;
+        //
 
         void setPosition(const Vector3&) override;
         void setOrientation(const Quaternion&) override;

Modified: code/branches/wagnis_HS18/src/modules/wagnis/WagnisProvince.cc
===================================================================
--- code/branches/wagnis_HS18/src/modules/wagnis/WagnisProvince.cc	2018-10-21 11:28:52 UTC (rev 12049)
+++ code/branches/wagnis_HS18/src/modules/wagnis/WagnisProvince.cc	2018-10-21 12:54:21 UTC (rev 12050)
@@ -20,6 +20,7 @@
         this->troops = 0;
         this->ID = -1;
         this->continent = -1;
+        this->neighbors = std::vector<WagnisProvince*>();
     }
     //Destructor
     WagnisProvince::~WagnisProvince(){



More information about the Orxonox-commit mailing list