Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jan 17, 2016, 1:59:00 PM (8 years ago)
Author:
landauf
Message:

added c++11 features to code that was added in presentationHS15

Location:
code/branches/cpp11_v3/src/orxonox/controllers
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • code/branches/cpp11_v3/src/orxonox/controllers/ActionpointController.cc

    r11054 r11065  
    339339            inLoop = this->bInLoop_;
    340340
    341             Action::Value value;
     341            Action value;
    342342           
    343343            if ( actionName == "FIGHT" )
     
    371371            return this->actionpoints_[index];
    372372        else
    373             return 0;
     373            return nullptr;
    374374    }
    375375    //XML method
    376     Action::Value ActionpointController::getAction ()
     376    Action ActionpointController::getAction ()
    377377    {
    378378        return this->action_;
     
    401401    }
    402402    //XML method
    403     void ActionpointController::setAction (Action::Value action)
     403    void ActionpointController::setAction (Action action)
    404404    {
    405405        this->action_ = action;
    406406    }
    407407    //set action and target/protect
    408     void ActionpointController::setAction (Action::Value action, ControllableEntity* target)
     408    void ActionpointController::setAction (Action action, ControllableEntity* target)
    409409    {
    410410        if (!this || !this->getControllableEntity())
     
    423423    }
    424424    //set action and target position
    425     void ActionpointController::setAction (Action::Value action, const Vector3& target)
     425    void ActionpointController::setAction (Action action, const Vector3& target)
    426426    {
    427427        if (!this || !this->getControllableEntity())
     
    434434    }
    435435    //set action and target position and orientation
    436     void ActionpointController::setAction (Action::Value action, const Vector3& target,  const Quaternion& orient )
     436    void ActionpointController::setAction (Action action, const Vector3& target,  const Quaternion& orient )
    437437    {
    438438        if (!this || !this->getControllableEntity())
     
    476476                return;
    477477
    478             this->setTarget(0);
     478            this->setTarget(nullptr);
    479479            this->setTargetPosition(this->getControllableEntity()->getWorldPosition());
    480480            this->action_ = Action::NONE;
     
    506506                if (targetName == "")
    507507                    break;
    508                 for (ObjectList<Pawn>::iterator itP = ObjectList<Pawn>().begin(); itP; ++itP)
    509                 {
    510                     if (!this || !this->getControllableEntity())
    511                         return;
    512                     if (CommonController::getName(*itP) == targetName)
     508                for (Pawn* pawn : ObjectList<Pawn>())
     509                {
     510                    if (!this || !this->getControllableEntity())
     511                        return;
     512                    if (CommonController::getName(pawn) == targetName)
    513513                    {
    514                         this->setTarget (static_cast<ControllableEntity*>(*itP));
     514                        this->setTarget (static_cast<ControllableEntity*>(pawn));
    515515                    }
    516516                }
     
    541541                if (protectName == "reservedKeyword:human")
    542542                {
    543                     for (ObjectList<Pawn>::iterator itP = ObjectList<Pawn>().begin(); itP; ++itP)
     543                    for (Pawn* pawn : ObjectList<Pawn>())
    544544                    {
    545                         if (orxonox_cast<ControllableEntity*>(*itP) && ((*itP)->getController()) && ((*itP)->getController()->getIdentifier()->getName() == "NewHumanController"))
     545                        if (orxonox_cast<ControllableEntity*>(pawn) && (pawn->getController()) && (pawn->getController()->getIdentifier()->getName() == "NewHumanController"))
    546546                        {
    547                             this->setProtect (static_cast<ControllableEntity*>(*itP));
     547                            this->setProtect (static_cast<ControllableEntity*>(pawn));
    548548                        }
    549549                    }
     
    551551                else
    552552                {
    553                     for (ObjectList<Pawn>::iterator itP = ObjectList<Pawn>().begin(); itP; ++itP)
     553                    for (Pawn* pawn : ObjectList<Pawn>())
    554554                    {
    555                         if (CommonController::getName(*itP) == protectName)
     555                        if (CommonController::getName(pawn) == protectName)
    556556                        {
    557                             this->setProtect (static_cast<ControllableEntity*>(*itP));
     557                            this->setProtect (static_cast<ControllableEntity*>(pawn));
    558558                        }
    559559                    }                           
     
    578578                std::string targetName = p.name;
    579579
    580                 for (ObjectList<Pawn>::iterator itP = ObjectList<Pawn>().begin(); itP; ++itP)
    581                 {
    582                     if (CommonController::getName(*itP) == targetName)
     580                for (Pawn* pawn : ObjectList<Pawn>())
     581                {
     582                    if (CommonController::getName(pawn) == targetName)
    583583                    {
    584584                        if (!this || !this->getControllableEntity())
    585585                            return;
    586                         this->setTarget (static_cast<ControllableEntity*>(*itP));
     586                        this->setTarget (static_cast<ControllableEntity*>(pawn));
    587587                    }
    588588                }
     
    702702    {
    703703        if (!this || !this->getControllableEntity())
    704             return 0;
    705 
    706         Pawn* closestTarget = 0;
     704            return nullptr;
     705
     706        Pawn* closestTarget = nullptr;
    707707        float minDistance =  std::numeric_limits<float>::infinity();
    708708        Gametype* gt = this->getGametype();
    709         for (ObjectList<Pawn>::iterator itP = ObjectList<Pawn>().begin(); itP; ++itP)
     709        for (Pawn* pawn : ObjectList<Pawn>())
    710710        {
    711711            if (!this || !this->getControllableEntity())
    712                 return 0;
    713             if ( CommonController::sameTeam (this->getControllableEntity(), static_cast<ControllableEntity*>(*itP), gt) )
     712                return nullptr;
     713            if ( CommonController::sameTeam (this->getControllableEntity(), static_cast<ControllableEntity*>(pawn), gt) )
    714714                continue;
    715715
    716             float distance = CommonController::distance (*itP, this->getControllableEntity());
     716            float distance = CommonController::distance (pawn, this->getControllableEntity());
    717717            if (distance < minDistance)
    718718            {
    719                 closestTarget = *itP;
     719                closestTarget = pawn;
    720720                minDistance = distance;
    721721            }
     
    725725           return closestTarget;
    726726        }
    727         return 0; 
     727        return nullptr;
    728728    }
    729729    //push action FIGHT to the stack and set target to the closest enemy
  • code/branches/cpp11_v3/src/orxonox/controllers/ActionpointController.h

    r11052 r11065  
    6565        All the demos are in a file called AITest.oxw. In the menu look for New AI Testing Level.
    6666    */
    67     namespace Action
     67    enum class Action
    6868    { 
    69         enum Value
    70         {
    71             NONE, FLY, FIGHT, PROTECT, FIGHTALL, ATTACK
    72         };
    73        
    74     }
     69        NONE, FLY, FIGHT, PROTECT, FIGHTALL, ATTACK
     70    };
    7571   
    7672    struct Point {
    77         Action::Value action;
     73        Action action;
    7874        std::string name;
    7975        Vector3 position;
    8076        bool inLoop;
    81     } ;
    82     namespace PickupType
    83     {
    84         enum Value
    85         { 
    86             NONE, DAMAGE, HEALTH, SPEED, PORTAL
    87         };
    88     }
     77    };
    8978
    9079    class _OrxonoxExport ActionpointController : public FightingController, public Tickable
     
    9483            ActionpointController(Context* context);
    9584            virtual ~ActionpointController();
    96             virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);         
     85            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
    9786               
    9887            /**
     
    10190                In tick ship flies and fires.
    10291            */
    103             virtual void tick(float dt);   
     92            virtual void tick(float dt) override;
    10493            /**
    10594            @brief
     
    186175            virtual void takeActionpoints (const std::vector<Point>& vector, const std::vector<Point>& loop, bool b);
    187176
    188             virtual Action::Value getAction ();
     177            virtual Action getAction ();
    189178            virtual std::string getActionName();
    190179
    191             void setAction (Action::Value action);
    192             void setAction (Action::Value action, ControllableEntity* target);
    193             void setAction (Action::Value action, const Vector3& target);
    194             void setAction (Action::Value action, const Vector3& target,  const Quaternion& orient );
     180            void setAction (Action action);
     181            void setAction (Action action, ControllableEntity* target);
     182            void setAction (Action action, const Vector3& target);
     183            void setAction (Action action, const Vector3& target,  const Quaternion& orient );
    195184
    196185            virtual bool setWingman(ActionpointController* wingman)
     
    210199                WeakPtr<ActionpointController> myDivisionLeader_;
    211200            //----[Actionpoint information]----
    212                 Action::Value action_;
     201                Action action_;
    213202                std::string protectName_;
    214203                std::string targetName_;
    215                 std::vector<WeakPtr<WorldEntity> > actionpoints_;
     204                std::vector<WeakPtr<WorldEntity>> actionpoints_;
    216205                float squaredaccuracy_;
    217                 std::vector<Point > parsedActionpoints_;//<! actionpoints as they are stored here after being parsed from XML
    218                 std::vector<Point > loopActionpoints_;  //<! actionpoints that are to be looped
     206                std::vector<Point> parsedActionpoints_; //<! actionpoints as they are stored here after being parsed from XML
     207                std::vector<Point> loopActionpoints_;   //<! actionpoints that are to be looped
    219208                bool bInLoop_;                          //<! variable for addActionpoint method
    220209                bool bLoop_;                            //<! is state machine looping?
  • code/branches/cpp11_v3/src/orxonox/controllers/CommonController.cc

    r11052 r11065  
    8383        int team2 = entity2->getTeam();
    8484
    85         Controller* controller = 0;
     85        Controller* controller = nullptr;
    8686        if (entity1->getController())
    8787            controller = entity1->getController();
     
    120120        }
    121121
    122         TeamBaseMatchBase* base = 0;
     122        TeamBaseMatchBase* base = nullptr;
    123123        base = orxonox_cast<TeamBaseMatchBase*>(entity1);
    124124        if (base)
     
    154154        }
    155155
    156         DroneController* droneController = 0;
     156        DroneController* droneController = nullptr;
    157157        droneController = orxonox_cast<DroneController*>(entity1->getController());
    158158        if (droneController && static_cast<ControllableEntity*>(droneController->getOwner()) == entity2)
  • code/branches/cpp11_v3/src/orxonox/controllers/DivisionController.cc

    r11058 r11065  
    4040        RegisterObject(DivisionController);
    4141        this->setFormationMode(FormationMode::DIAMOND);
    42         this->target_ = 0;
    43         this->myFollower_ = 0;
    44         this->myWingman_ = 0;
     42        this->target_ = nullptr;
     43        this->myFollower_ = nullptr;
     44        this->myWingman_ = nullptr;
    4545    }
    4646
    4747    DivisionController::~DivisionController()
    4848    {
    49         for (size_t i = 0; i < this->actionpoints_.size(); ++i)
     49        for (WorldEntity* actionpoint : this->actionpoints_)
    5050        {
    51             if(this->actionpoints_[i])
    52                 this->actionpoints_[i]->destroy();
     51            if (actionpoint)
     52                actionpoint->destroy();
    5353        }
    5454        this->parsedActionpoints_.clear();
  • code/branches/cpp11_v3/src/orxonox/controllers/DivisionController.h

    r11058 r11065  
    5151
    5252            //----[own functions]----
    53                 virtual bool setFollower(ActionpointController* newFollower);
    54                 virtual bool setWingman(ActionpointController* newWingman);
    55                 virtual bool hasWingman();
    56                 virtual bool hasFollower();
     53                virtual bool setFollower(ActionpointController* newFollower) override;
     54                virtual bool setWingman(ActionpointController* newWingman) override;
     55                virtual bool hasWingman() override;
     56                virtual bool hasFollower() override;
    5757               
    5858            //----[/own functions]----
    59             virtual void stayNearProtect();
     59            virtual void stayNearProtect() override;
    6060
    6161        protected:
    6262            //----action must only be managed by this----
    63             virtual void action(); //<! action() is called in regular intervals managing the bot's behaviour.
     63            virtual void action() override; //<! action() is called in regular intervals managing the bot's behaviour.
    6464
    6565        private:
  • code/branches/cpp11_v3/src/orxonox/controllers/FightingController.cc

    r11057 r11065  
    238238    {
    239239        if (!this || !this->getControllableEntity())
    240             return 0;
    241 
    242         Pawn* closestTarget = 0;
     240            return nullptr;
     241
     242        Pawn* closestTarget = nullptr;
    243243        float minDistance =  std::numeric_limits<float>::infinity();
    244244        Gametype* gt = this->getGametype();
    245         for (ObjectList<Pawn>::iterator itP = ObjectList<Pawn>().begin(); itP; ++itP)
    246         {
    247             if ( CommonController::sameTeam (this->getControllableEntity(), static_cast<ControllableEntity*>(*itP), gt) )
     245        for (Pawn* pawn : ObjectList<Pawn>())
     246        {
     247            if ( CommonController::sameTeam (this->getControllableEntity(), static_cast<ControllableEntity*>(pawn), gt) )
    248248                continue;
    249249
    250             float distance = CommonController::distance (*itP, this->getControllableEntity());
     250            float distance = CommonController::distance (pawn, this->getControllableEntity());
    251251            if (distance < minDistance)
    252252            {
    253                 closestTarget = *itP;
     253                closestTarget = pawn;
    254254                minDistance = distance;
    255255            }
     
    259259           return closestTarget;
    260260        }
    261         return 0; 
     261        return nullptr;
    262262    }
    263263    //I checked it out, rockets DO NOT cause any problems! this->getControllableEntity() is always a SpaceShip
     
    335335            {
    336336                this->weaponModes_.clear(); // reset previous weapon information
    337                 WeaponSlot* wSlot = 0;
     337                WeaponSlot* wSlot = nullptr;
    338338                for(int l=0; (wSlot = pawn->getWeaponSlot(l)) ; l++)
    339339                {
    340                     WeaponMode* wMode = 0;
     340                    WeaponMode* wMode = nullptr;
    341341                    for(int i=0; (wMode = wSlot->getWeapon()->getWeaponmode(i)) ; i++)
    342342                    {
     
    356356    }
    357357
    358     int FightingController::getFiremode(std::string name)
    359     {
    360         for (std::map< std::string, int >::iterator it = this->weaponModes_.begin(); it != this->weaponModes_.end(); ++it)
    361         {
    362             if (it->first == name)
    363                 return it->second;
     358    int FightingController::getFiremode(const std::string& name)
     359    {
     360        for (const auto& mapEntry : this->weaponModes_)
     361        {
     362            if (mapEntry.first == name)
     363                return mapEntry.second;
    364364        }
    365365        return -1;
  • code/branches/cpp11_v3/src/orxonox/controllers/FightingController.h

    r11057 r11065  
    7272                                                                        //<! this and target_ plus or minus some amount in difference vector direction,
    7373                                                                        //<! depending on whether it is better to close up or survive.
    74             void dodgeTowards (Vector3& position);  //fly towards position and awoid being hit
    7574            void doFire();  //<! choose weapon, set aim at target_ and fire
    7675            WeakPtr<ControllableEntity> target_;
     
    9796            void setupWeapons(); //<! Defines which weapons are available for a bot. Is recalled whenever a bot was killed.
    9897            bool bSetupWorked; //<! If false, setupWeapons() is called.
    99             int getFiremode(std::string name);
     98            int getFiremode(const std::string& name);
    10099         
    101100    };
  • code/branches/cpp11_v3/src/orxonox/controllers/FlyingController.cc

    r11052 r11065  
    6161    }
    6262   
    63     void FlyingController::setFormationModeXML(std::string val)
     63    void FlyingController::setFormationModeXML(const std::string& val)
    6464    {
    6565        const std::string valUpper = getUppercase(val);
    66         FormationMode::Value value;
     66        FormationMode value;
    6767       
    6868        if (valUpper == "WALL")
     
    233233            return;
    234234        SpaceShip* ship = orxonox_cast<SpaceShip*>(this->getControllableEntity());
    235         if(ship == NULL) return;
     235        if(ship == nullptr) return;
    236236        if(ship->getBoostPower()*1.5f > ship->getInitialBoostPower()) //upper limit ->boost
    237237        {
  • code/branches/cpp11_v3/src/orxonox/controllers/FlyingController.h

    r11052 r11065  
    4141
    4242    //Formation mode for the divisions
    43     namespace FormationMode
     43    enum class FormationMode
    4444    {
    45         enum Value
    46         {
    47             FINGER4, DIAMOND, WALL
    48         };
    49     }
     45        FINGER4, DIAMOND, WALL
     46    };
    5047
    5148    class _OrxonoxExport FlyingController : public CommonController
     
    5855            FlyingController(Context* context);
    5956            virtual ~FlyingController();
    60             virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
     57            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
    6158
    6259            void setSpread (int spread)                         //<! spread is a multiplier for formation flight, should be bigger than 100
     
    6562                { return this->spread_; }
    6663
    67             void setFormationModeXML(std::string val);
     64            void setFormationModeXML(const std::string& val);
    6865            std::string getFormationModeXML() const;
    6966
    70             void setFormationMode(FormationMode::Value val)
     67            void setFormationMode(FormationMode val)
    7168                { this->formationMode_ = val; }
    72             FormationMode::Value getFormationMode() const
     69            FormationMode getFormationMode() const
    7370                { return this->formationMode_; }
    7471            bool bCopyOrientation_;                             //<! set to true by default, MasterController sets it in its tick(),
     
    9188                                                                    //<! this stays in a certain position relative to leader     
    9289           
    93             FormationMode::Value formationMode_;
     90            FormationMode formationMode_;
    9491         
    9592            float rotationProgress_;    //<! for slerping
  • code/branches/cpp11_v3/src/orxonox/controllers/MasterController.cc

    r11054 r11065  
    5858        {
    5959            //fill the vector in the first tick
    60             for (ObjectList<ActionpointController>::iterator it = ObjectList<ActionpointController>().begin(); it; ++it)
     60            for (ActionpointController* controller : ObjectList<ActionpointController>())
    6161            {
    6262                //----0ptr?----
    63                 if (!it)
     63                if (!controller)
    6464                    continue;
    65                 this->controllers_.push_back(*it);
     65                this->controllers_.push_back(controller);
    6666            }
    6767        }
  • code/branches/cpp11_v3/src/orxonox/controllers/MasterController.h

    r11052 r11065  
    6161
    6262            //----[orxonox demanded functions]----
    63                 virtual void tick(float dt);
     63                virtual void tick(float dt) override;
    6464
    6565            //----[orxonox demanded functions]----
     
    6868         
    6969        private:
    70             std::vector<WeakPtr<ActionpointController> > controllers_;  //<! vector of controllers, which action(), canFire() and maneuver() methods are to be called
     70            std::vector<WeakPtr<ActionpointController>> controllers_;//<! vector of controllers, which action(), canFire() and maneuver() methods are to be called
    7171            size_t indexOfCurrentController_;                        //<! index of current controller
    7272            unsigned int numberOfTicksPassedSinceLastActionCall_;
  • code/branches/cpp11_v3/src/orxonox/controllers/SectionController.cc

    r11058 r11065  
    4040        this->setFormationMode(FormationMode::FINGER4);
    4141
    42         this->myWingman_ = 0;
    43         this->myDivisionLeader_ = 0;
     42        this->myWingman_ = nullptr;
     43        this->myDivisionLeader_ = nullptr;
    4444        this->bFirstAction_ = true;
    4545
     
    4848    SectionController::~SectionController()
    4949    {
    50        for (size_t i = 0; i < this->actionpoints_.size(); ++i)
    51         {
    52             if(this->actionpoints_[i])
    53                 this->actionpoints_[i]->destroy();
     50        for (WorldEntity* actionpoint : this->actionpoints_)
     51        {
     52            if (actionpoint)
     53                actionpoint->destroy();
    5454        }
    5555        this->parsedActionpoints_.clear();
     
    117117    {
    118118        //----If division leader fights, cover him by fighting emenies close to his target----
    119         Action::Value action = this->myDivisionLeader_->getAction();
     119        Action action = this->myDivisionLeader_->getAction();
    120120
    121121        if (action == Action::FIGHT || action == Action::FIGHTALL || action == Action::ATTACK)
     
    133133                    Vector3 divisionTargetPosition = this->myDivisionLeader_->getTarget()->getWorldPosition();
    134134                    Gametype* gt = this->getGametype();
    135                     for (ObjectList<Pawn>::iterator itP = ObjectList<Pawn>().begin(); itP; ++itP)
     135                    for (Pawn* pawn : ObjectList<Pawn>())
    136136                    {
    137137                        //----is enemy?----
    138                         if ( CommonController::sameTeam (this->getControllableEntity(), static_cast<ControllableEntity*>(*itP), gt) )
     138                        if ( CommonController::sameTeam (this->getControllableEntity(), static_cast<ControllableEntity*>(pawn), gt) )
    139139                            continue;           
    140140                        //----in range?----
    141                         if (((*itP)->getWorldPosition() - divisionTargetPosition).length() < 3000 &&
    142                             (*itP) != this->myDivisionLeader_->getTarget())
     141                        if ((pawn->getWorldPosition() - divisionTargetPosition).length() < 3000 &&
     142                            pawn != this->myDivisionLeader_->getTarget())
    143143                        {
    144144                            foundTarget = true;
    145                             target =  (*itP);
     145                            target = pawn;
    146146                            break;
    147147                        }
     
    212212
    213213        if (!this->getControllableEntity())
    214             return 0;
    215 
    216         ActionpointController* closestLeader = 0;
     214            return nullptr;
     215
     216        ActionpointController* closestLeader = nullptr;
    217217        float minDistance =  std::numeric_limits<float>::infinity();
    218218        //go through all pawns
    219         for (ObjectList<ActionpointController>::iterator it = ObjectList<ActionpointController>().begin(); it; ++it)
     219        for (ActionpointController* controller : ObjectList<ActionpointController>())
    220220        {
    221221            //0ptr or not DivisionController?
    222             if (!(it) || !((it)->getIdentifier()->getName() == "DivisionController") || !(it->getControllableEntity()))
     222            if (!controller || !(controller->getIdentifier()->getName() == "DivisionController") || !(controller->getControllableEntity()))
    223223                continue;
    224224            //same team?
    225             if ((this->getControllableEntity()->getTeam() != (it)->getControllableEntity()->getTeam()))
     225            if ((this->getControllableEntity()->getTeam() != controller->getControllableEntity()->getTeam()))
    226226                continue;
    227227
    228228            //is equal to this?
    229             if (orxonox_cast<ControllableEntity*>(*it) == this->getControllableEntity())
     229            if (orxonox_cast<ControllableEntity*>(controller) == this->getControllableEntity())
    230230                continue;
    231231
    232             float distance = CommonController::distance (it->getControllableEntity(), this->getControllableEntity());
     232            float distance = CommonController::distance (controller->getControllableEntity(), this->getControllableEntity());
    233233           
    234             if (distance < minDistance && !(it->hasFollower()))
    235             {
    236                 closestLeader = *it;
     234            if (distance < minDistance && !(controller->hasFollower()))
     235            {
     236                closestLeader = controller;
    237237                minDistance = distance;
    238238            }
     
    244244                return closestLeader;
    245245        }
    246         return 0;
     246        return nullptr;
    247247    }
    248248
  • code/branches/cpp11_v3/src/orxonox/controllers/SectionController.h

    r11058 r11065  
    5252                ActionpointController* findNewDivisionLeader();
    5353
    54                 virtual bool setWingman(ActionpointController* newWingman);
    55                 virtual bool hasWingman();
    56                 virtual bool hasFollower()
     54                virtual bool setWingman(ActionpointController* newWingman) override;
     55                virtual bool hasWingman() override;
     56                virtual bool hasFollower() override
    5757                    { return false; }
    5858                void chooseTarget();
     
    6161        protected:       
    6262            //----action must only be managed by this----     
    63                 virtual void action(); //<! action() is called in regular intervals by MasterController managing the bot's behaviour.
     63                virtual void action() override; //<! action() is called in regular intervals by MasterController managing the bot's behaviour.
    6464                Vector3 getFormationPosition ();
    6565                void keepFormation();
  • code/branches/cpp11_v3/src/orxonox/controllers/WingmanController.cc

    r11058 r11065  
    3939    {
    4040        RegisterObject(WingmanController);
    41         this->myLeader_ = 0;
     41        this->myLeader_ = nullptr;
    4242        this->bFirstAction_ = true;
    4343
     
    4646    WingmanController::~WingmanController()
    4747    {
    48         for (size_t i = 0; i < this->actionpoints_.size(); ++i)
    49         {
    50             if(this->actionpoints_[i])
    51                 this->actionpoints_[i]->destroy();
     48        for (WorldEntity* actionpoint : this->actionpoints_)
     49        {
     50            if (actionpoint)
     51                actionpoint->destroy();
    5252        }
    5353        this->parsedActionpoints_.clear();
     
    170170
    171171        if (!this->getControllableEntity())
    172             return 0;
     172            return nullptr;
    173173
    174174        //----vars for finding the closest leader----
    175         ActionpointController* closestLeader = 0;
     175        ActionpointController* closestLeader = nullptr;
    176176        float minDistance =  std::numeric_limits<float>::infinity();
    177177        Gametype* gt = this->getGametype();
    178178
    179         for (ObjectList<ActionpointController>::iterator it = ObjectList<ActionpointController>().begin(); it; ++it)
     179        for (ActionpointController* controller : ObjectList<ActionpointController>())
    180180        {
    181181            //----0ptr or not a leader or dead?----
    182             if (!it ||
    183                 (it->getIdentifier()->getName() != "SectionController" && it->getIdentifier()->getName() != "DivisionController") ||
    184                 !(it->getControllableEntity()))
     182            if (!controller ||
     183                (controller->getIdentifier()->getName() != "SectionController" && controller->getIdentifier()->getName() != "DivisionController") ||
     184                !(controller->getControllableEntity()))
    185185                continue;
    186186           
    187187            //----same team?----
    188             if ( !CommonController::sameTeam (this->getControllableEntity(), (it)->getControllableEntity(), gt) )
     188            if ( !CommonController::sameTeam (this->getControllableEntity(), controller->getControllableEntity(), gt) )
    189189                continue;
    190190           
    191191            //----check distance----
    192             float distance = CommonController::distance (it->getControllableEntity(), this->getControllableEntity());
    193             if (distance < minDistance && !(it->hasWingman()))
    194             {
    195                 closestLeader = *it;
     192            float distance = CommonController::distance (controller->getControllableEntity(), this->getControllableEntity());
     193            if (distance < minDistance && !(controller->hasWingman()))
     194            {
     195                closestLeader = controller;
    196196                minDistance = distance;
    197197            }
     
    207207            }
    208208        }
    209         return 0;
     209        return nullptr;
    210210    }
    211211
  • code/branches/cpp11_v3/src/orxonox/controllers/WingmanController.h

    r11058 r11065  
    5151           
    5252            //----[orxonox demanded functions]----
    53                 virtual bool hasWingman()
     53                virtual bool hasWingman() override
    5454                    { return false; }
    55                 virtual bool hasFollower()
     55                virtual bool hasFollower() override
    5656                    { return false; }
    5757            //----[/orxonox demanded functions]----
     
    6363        protected:
    6464            //----action must only be managed by this----
    65                 virtual void action(); //<! action() is called in regular intervals managing the bot's behaviour.
     65                virtual void action() override; //<! action() is called in regular intervals managing the bot's behaviour.
    6666                Vector3 getFormationPosition ();
    6767                void keepFormation();
Note: See TracChangeset for help on using the changeset viewer.