[Orxonox-commit 2382] r7097 - code/branches/presentation3/src/orxonox/controllers

landauf at orxonox.net landauf at orxonox.net
Thu Jun 3 00:39:55 CEST 2010


Author: landauf
Date: 2010-06-03 00:39:55 +0200 (Thu, 03 Jun 2010)
New Revision: 7097

Modified:
   code/branches/presentation3/src/orxonox/controllers/ArtificialController.cc
   code/branches/presentation3/src/orxonox/controllers/ArtificialController.h
Log:
trying to activate formationflight also for xml enemies

Modified: code/branches/presentation3/src/orxonox/controllers/ArtificialController.cc
===================================================================
--- code/branches/presentation3/src/orxonox/controllers/ArtificialController.cc	2010-06-02 21:30:11 UTC (rev 7096)
+++ code/branches/presentation3/src/orxonox/controllers/ArtificialController.cc	2010-06-02 22:39:55 UTC (rev 7097)
@@ -94,8 +94,9 @@
         SUPER(ArtificialController, XMLPort, xmlelement, mode);
 
         XMLPortParam(ArtificialController, "team", setTeam, getTeam, xmlelement, mode).defaultValues(-1);
-        XMLPortParam(ArtificialController, "formationFlight", setFormationFlight, getFormationFlight, xmlelement, mode).defaultValues(true);
+        XMLPortParam(ArtificialController, "formationFlight", setFormationFlight, getFormationFlight, xmlelement, mode).defaultValues(false);
         XMLPortParam(ArtificialController, "formationSize", setFormationSize, getFormationSize, xmlelement, mode).defaultValues(STANDARD_MAX_FORMATION_SIZE);
+        XMLPortParam(ArtificialController, "passive", setPassive, getPassive, xmlelement, mode).defaultValues(false);
     }
 
 // Documentation only here to get a faster overview for creating a useful documentation...
@@ -108,10 +109,17 @@
     {
         for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
         {
-            if (!it->getController())
+            Controller* controller = 0;
+            
+            if (it->getController())
+                controller = it->getController();
+            else if (it->getXMLController())
+                controller = it->getXMLController();
+                
+            if (!controller)
                 continue;
 
-            ArtificialController *aiController = orxonox_cast<ArtificialController*>(it->getController());
+            ArtificialController *aiController = orxonox_cast<ArtificialController*>(controller);
 
             if(aiController)
             {
@@ -133,10 +141,17 @@
     {
         for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
         {
-            if (!it->getController())
+            Controller* controller = 0;
+            
+            if (it->getController())
+                controller = it->getController();
+            else if (it->getXMLController())
+                controller = it->getXMLController();
+                
+            if (!controller)
                 continue;
 
-            ArtificialController *aiController = orxonox_cast<ArtificialController*>(it->getController());
+            ArtificialController *aiController = orxonox_cast<ArtificialController*>(controller);
 
             if(aiController && aiController->state_ == MASTER)
             {
@@ -160,14 +175,21 @@
 
         for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
         {
-            if (!it->getController())
+            Controller* controller = 0;
+            
+            if (it->getController())
+                controller = it->getController();
+            else if (it->getXMLController())
+                controller = it->getXMLController();
+                
+            if (!controller)
                 continue;
 
-            currentHumanController = orxonox_cast<NewHumanController*>(it->getController());
+            currentHumanController = orxonox_cast<NewHumanController*>(controller);
 
             if(currentHumanController) humanPawn = *it;
 
-            ArtificialController *aiController = orxonox_cast<ArtificialController*>(it->getController());
+            ArtificialController *aiController = orxonox_cast<ArtificialController*>(controller);
 
             if(aiController && aiController->state_ == MASTER)
                 allMasters.push_back(aiController);
@@ -201,10 +223,17 @@
     {
         for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
         {
-            if (!it->getController())
+            Controller* controller = 0;
+            
+            if (it->getController())
+                controller = it->getController();
+            else if (it->getXMLController())
+                controller = it->getXMLController();
+                
+            if (!controller)
                 continue;
 
-            ArtificialController *aiController = orxonox_cast<ArtificialController*>(it->getController());
+            ArtificialController *aiController = orxonox_cast<ArtificialController*>(controller);
 
             if(aiController)
             {
@@ -222,10 +251,17 @@
     {
         for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
         {
-            if (!it->getController())
+            Controller* controller = 0;
+            
+            if (it->getController())
+                controller = it->getController();
+            else if (it->getXMLController())
+                controller = it->getXMLController();
+                
+            if (!controller)
                 continue;
 
-            ArtificialController *aiController = orxonox_cast<ArtificialController*>(it->getController());
+            ArtificialController *aiController = orxonox_cast<ArtificialController*>(controller);
 
             if(aiController)
             {
@@ -355,7 +391,14 @@
                 continue;
 
             //has it an ArtificialController?
-            if (!it->getController())
+            Controller* controller = 0;
+            
+            if (it->getController())
+                controller = it->getController();
+            else if (it->getXMLController())
+                controller = it->getXMLController();
+                
+            if (!controller)
                 continue;
 
             //is pawn oneself?
@@ -364,7 +407,7 @@
 
             teamSize++;
 
-            ArtificialController *newMaster = orxonox_cast<ArtificialController*>(it->getController());
+            ArtificialController *newMaster = orxonox_cast<ArtificialController*>(controller);
 
             //is it a master?
             if (!newMaster || newMaster->state_ != MASTER)

Modified: code/branches/presentation3/src/orxonox/controllers/ArtificialController.h
===================================================================
--- code/branches/presentation3/src/orxonox/controllers/ArtificialController.h	2010-06-02 21:30:11 UTC (rev 7096)
+++ code/branches/presentation3/src/orxonox/controllers/ArtificialController.h	2010-06-02 22:39:55 UTC (rev 7097)
@@ -63,6 +63,11 @@
                 { this->maxFormationSize_ = size; }
             inline int getFormationSize() const
                 { return this->maxFormationSize_; }
+                
+            inline void setPassive(bool passive)
+                { this->passive_ = passive; }
+            inline bool getPassive() const
+                { return this->passive_; }
 
             virtual void changedControllableEntity();
 




More information about the Orxonox-commit mailing list