[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