Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jun 3, 2010, 12:39:55 AM (14 years ago)
Author:
landauf
Message:

trying to activate formationflight also for xml enemies

Location:
code/branches/presentation3/src/orxonox/controllers
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/branches/presentation3/src/orxonox/controllers/ArtificialController.cc

    r7090 r7097  
    9595
    9696        XMLPortParam(ArtificialController, "team", setTeam, getTeam, xmlelement, mode).defaultValues(-1);
    97         XMLPortParam(ArtificialController, "formationFlight", setFormationFlight, getFormationFlight, xmlelement, mode).defaultValues(true);
     97        XMLPortParam(ArtificialController, "formationFlight", setFormationFlight, getFormationFlight, xmlelement, mode).defaultValues(false);
    9898        XMLPortParam(ArtificialController, "formationSize", setFormationSize, getFormationSize, xmlelement, mode).defaultValues(STANDARD_MAX_FORMATION_SIZE);
     99        XMLPortParam(ArtificialController, "passive", setPassive, getPassive, xmlelement, mode).defaultValues(false);
    99100    }
    100101
     
    109110        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
    110111        {
    111             if (!it->getController())
    112                 continue;
    113 
    114             ArtificialController *aiController = orxonox_cast<ArtificialController*>(it->getController());
     112            Controller* controller = 0;
     113           
     114            if (it->getController())
     115                controller = it->getController();
     116            else if (it->getXMLController())
     117                controller = it->getXMLController();
     118               
     119            if (!controller)
     120                continue;
     121
     122            ArtificialController *aiController = orxonox_cast<ArtificialController*>(controller);
    115123
    116124            if(aiController)
     
    134142        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
    135143        {
    136             if (!it->getController())
    137                 continue;
    138 
    139             ArtificialController *aiController = orxonox_cast<ArtificialController*>(it->getController());
     144            Controller* controller = 0;
     145           
     146            if (it->getController())
     147                controller = it->getController();
     148            else if (it->getXMLController())
     149                controller = it->getXMLController();
     150               
     151            if (!controller)
     152                continue;
     153
     154            ArtificialController *aiController = orxonox_cast<ArtificialController*>(controller);
    140155
    141156            if(aiController && aiController->state_ == MASTER)
     
    161176        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
    162177        {
    163             if (!it->getController())
    164                 continue;
    165 
    166             currentHumanController = orxonox_cast<NewHumanController*>(it->getController());
     178            Controller* controller = 0;
     179           
     180            if (it->getController())
     181                controller = it->getController();
     182            else if (it->getXMLController())
     183                controller = it->getXMLController();
     184               
     185            if (!controller)
     186                continue;
     187
     188            currentHumanController = orxonox_cast<NewHumanController*>(controller);
    167189
    168190            if(currentHumanController) humanPawn = *it;
    169191
    170             ArtificialController *aiController = orxonox_cast<ArtificialController*>(it->getController());
     192            ArtificialController *aiController = orxonox_cast<ArtificialController*>(controller);
    171193
    172194            if(aiController && aiController->state_ == MASTER)
     
    202224        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
    203225        {
    204             if (!it->getController())
    205                 continue;
    206 
    207             ArtificialController *aiController = orxonox_cast<ArtificialController*>(it->getController());
     226            Controller* controller = 0;
     227           
     228            if (it->getController())
     229                controller = it->getController();
     230            else if (it->getXMLController())
     231                controller = it->getXMLController();
     232               
     233            if (!controller)
     234                continue;
     235
     236            ArtificialController *aiController = orxonox_cast<ArtificialController*>(controller);
    208237
    209238            if(aiController)
     
    223252        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
    224253        {
    225             if (!it->getController())
    226                 continue;
    227 
    228             ArtificialController *aiController = orxonox_cast<ArtificialController*>(it->getController());
     254            Controller* controller = 0;
     255           
     256            if (it->getController())
     257                controller = it->getController();
     258            else if (it->getXMLController())
     259                controller = it->getXMLController();
     260               
     261            if (!controller)
     262                continue;
     263
     264            ArtificialController *aiController = orxonox_cast<ArtificialController*>(controller);
    229265
    230266            if(aiController)
     
    356392
    357393            //has it an ArtificialController?
    358             if (!it->getController())
     394            Controller* controller = 0;
     395           
     396            if (it->getController())
     397                controller = it->getController();
     398            else if (it->getXMLController())
     399                controller = it->getXMLController();
     400               
     401            if (!controller)
    359402                continue;
    360403
     
    365408            teamSize++;
    366409
    367             ArtificialController *newMaster = orxonox_cast<ArtificialController*>(it->getController());
     410            ArtificialController *newMaster = orxonox_cast<ArtificialController*>(controller);
    368411
    369412            //is it a master?
  • code/branches/presentation3/src/orxonox/controllers/ArtificialController.h

    r7066 r7097  
    6464            inline int getFormationSize() const
    6565                { return this->maxFormationSize_; }
     66               
     67            inline void setPassive(bool passive)
     68                { this->passive_ = passive; }
     69            inline bool getPassive() const
     70                { return this->passive_; }
    6671
    6772            virtual void changedControllableEntity();
Note: See TracChangeset for help on using the changeset viewer.