Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 10135 in orxonox.OLD for branches/ai/src/ai/ai_engine.cc


Ignore:
Timestamp:
Dec 20, 2006, 7:47:45 PM (17 years ago)
Author:
tfahrni
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ai/src/ai/ai_engine.cc

    r10045 r10135  
    2222AIEngine* AIEngine::singletonRef = NULL;
    2323
     24AIEngine::AIEngine(){
     25        for(int i=0; i < maxTeams; i++ )teams[i]=NULL;
     26}
    2427
    25 AIEngine::AIEngine()
    26 {}
     28AITeam* AIEngine::getTeam(int teamNumber)
     29{
     30        if(teamNumber>maxTeams || teamNumber<0)return NULL;
     31        return teams[teamNumber];
     32}
    2733
    28 AIEngine::~AIEngine()
    29 {}
    30 
    31 
    32 
    33 /*AITeam* AIEngine::newTeam()
     34AITeam* AIEngine::getCreateTeam(int teamNumber)
    3435{
    35         AITeam* newTeam=new AITeam;
    36         teams.push_back(newTeam);
    37         return newTeam;
    38 }*/
    39 int AIEngine::newTeam()
    40 {
    41         AITeam* newTeam=new AITeam;
    42         teams.push_back(newTeam);
    43         return teams.size()-1;
     36        if(teamNumber>maxTeams || teamNumber<0)return NULL;
     37        if(teams[teamNumber]==NULL)teams[teamNumber]=new AITeam();
     38        return teams[teamNumber];
    4439}
    4540
    4641
    47 
    48 AITeam* AIEngine::getTeam(int aiTeamNumber)
     42void AIEngine::addTeam(int teamNumber)
    4943{
    50         //if(teams.size()>aiTeamNumber)
    51         return teams.at(aiTeamNumber);
    52         //return NULL;
     44        if(teamNumber>maxTeams || teamNumber<0)return;
     45        teams[teamNumber]=new AITeam();
    5346}
    5447
    5548
     49void AIEngine::removeTeam(int teamNumber)
     50{
     51        if(teamNumber>maxTeams || teamNumber<0)return;
     52        teams[teamNumber]=NULL;
     53}
    5654
    57 void AIEngine::tick(float dtS)
     55
     56void AIEngine::tick(float dt)
    5857{
    59         this->dtS=dtS;
    60         int teamCount=teams.size();
    61         for(int i=0; i < teamCount; i++ )
    62         {
    63                 //std::cout << "hello";
    64         //std::cout << "DT " << dtS <<  "...\n";
    65         teams.at(i)->process();
    66         }
     58        for(int i=0; i < maxTeams; i++ )
     59                if(teams[i]!=NULL)teams[i]->process(dt);
    6760}
     61
     62
     63void AIEngine::rebuildAIVector(){
     64        //AIVector.clear();
     65
     66        //for(int i=0; i < maxTeams; i++ )
     67                //if(teams[i]!=NULL)AIVector.push_back(teams[i]);
     68}
Note: See TracChangeset for help on using the changeset viewer.