Changeset 10244 in orxonox.OLD for branches/ai/src/ai/ai_team.cc
- Timestamp:
- Jan 17, 2007, 12:43:30 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ai/src/ai/ai_team.cc
r10226 r10244 15 15 #define DEBUG_SPECIAL_MODULE DEBUG_MODULE_AI 16 16 #include "ai_team.h" 17 #include "swarm_gorel.h" 18 #include "swarm_module.h" 17 19 #include "debug.h" 18 20 19 21 void AITeam::process(float dt) 20 22 { 21 std::map<int, AISwarm*>::iterator it;23 std::map<int,SwarmModule*>::iterator it; 22 24 for (it= swarms.begin(); it!= swarms.end(); it++ ){ 23 if(enemyList->size()>0){ 24 it->second->setTarget(enemyList->at(0)); 25 it->second->setDestination(enemyList->at(0)->getAbsCoor()); 25 26 if(it->second->taskDone()){ 27 std::cout << "Task Done!\n"; 28 changeSwarmModule(it, new SwarmGoRel); 29 30 if(enemyList->size()>0){ 31 it->second->setEnemyList(enemyList); 32 it->second->orderRelObject(enemyList->at(0)); 33 it->second->orderRelPos(Vector(60,0,0)); 34 it->second->orderSpeed(50); 35 it->second->orderView(Vector(0,0,1)); 36 it->second->orderMaxTime(5); 37 } 26 38 } 27 39 it->second->process(dt); … … 29 41 } 30 42 43 void AITeam::changeSwarmModule(std::map<int,SwarmModule*>::iterator it,SwarmModule* newAI) 44 { 45 SwarmModule* oldAI = it->second; 46 newAI->getAttributesFrom(oldAI); 47 it->second=newAI; 48 delete oldAI; 49 } 50 31 51 32 52 void AITeam::addAI(int swarmNumber, WorldEntity* npc) 33 53 { 34 std::pair<std::map<int, AISwarm*>::iterator,bool> p;35 AISwarm* newSwarm=new AISwarm();54 std::pair<std::map<int,SwarmModule*>::iterator,bool> p; 55 SwarmModule* newSwarm=new SwarmGoRel(); 36 56 p=swarms.insert(std::make_pair(swarmNumber,newSwarm)); 37 57 if(!p.second)delete newSwarm; … … 42 62 void AITeam::removeAI(int swarmNumber, WorldEntity* npc) 43 63 { 44 std::map<int, AISwarm*>::iterator it = swarms.find(swarmNumber);64 std::map<int,SwarmModule*>::iterator it = swarms.find(swarmNumber); 45 65 if(it==swarms.end())return; 46 66 it->second->removeAI(npc);
Note: See TracChangeset
for help on using the changeset viewer.