Changeset 5779 in orxonox.OLD for trunk/src/world_entities/weapons/weapon_manager.cc
- Timestamp:
- Nov 26, 2005, 2:20:58 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/world_entities/weapons/weapon_manager.cc
r5750 r5779 347 347 if (this->targetIterator == NULL) 348 348 { 349 tList<BaseObject>* npcList = ClassList::getList(CL_NPC);349 std::list<BaseObject*>* npcList = ClassList::getList(CL_NPC); 350 350 if (npcList != NULL) 351 351 { 352 this->targetIterator = npcList->getIterator(); 353 this->targetIterator->firstElement(); 352 this->targetIterator = npcList->begin(); 354 353 } 355 354 else … … 357 356 } 358 357 359 PNode* retNode = dynamic_cast<PNode*>(targetIterator->nextElement()); 360 if (retNode == NULL && this->targetIterator->getList()->getSize() > 0) 361 retNode = dynamic_cast<PNode*>(targetIterator->firstElement()); 358 ///FIXME 359 // this->targetIterator++; 360 PNode* retNode = dynamic_cast<PNode*>((*targetIterator)); 361 // if (retNode == NULL && this->targetIterator->getList()->getSize() > 0) 362 // retNode = dynamic_cast<PNode*>(targetIterator->firstElement()); 362 363 363 364 return retNode; … … 372 373 PNode* WeaponManager::getDistanceTarget(const PNode* carrier, float distance) 373 374 { 374 tList<BaseObject>* npcList = ClassList::getList(CL_NPC);375 std::list<BaseObject*>* npcList = ClassList::getList(CL_NPC); 375 376 if (npcList != NULL) 376 377 { 377 tIterator<BaseObject>* npcIT = npcList->getIterator(); 378 PNode* tmpNPC = dynamic_cast<PNode*>(npcIT->firstElement()); 379 while (tmpNPC != NULL) 380 { 381 if ((carrier->getAbsCoor() - tmpNPC->getAbsCoor()).len() < distance) 382 { 383 delete npcIT; 384 return tmpNPC; 385 } 386 tmpNPC = dynamic_cast<PNode*>(npcIT->nextElement()); 387 } 388 delete npcIT; 378 list<BaseObject*>::iterator node; 379 for (node= npcList->begin(); node != npcList->end(); node++) 380 if ((carrier->getAbsCoor() - dynamic_cast<PNode*>(*node)->getAbsCoor()).len() < distance) 381 return dynamic_cast<PNode*>(*node); 389 382 } 390 383 return this->getFixedTarget(); 391 392 384 } 393 385
Note: See TracChangeset
for help on using the changeset viewer.