Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 26, 2005, 2:20:58 PM (18 years ago)
Author:
bensch
Message:

orxonox/trunk: ClassList is now in std::list style
ShellCommand is now in std::list style

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/world_entities/weapons/weapon_manager.cc

    r5750 r5779  
    347347   if (this->targetIterator == NULL)
    348348   {
    349      tList<BaseObject>* npcList = ClassList::getList(CL_NPC);
     349     std::list<BaseObject*>* npcList = ClassList::getList(CL_NPC);
    350350     if (npcList != NULL)
    351351     {
    352        this->targetIterator = npcList->getIterator();
    353        this->targetIterator->firstElement();
     352       this->targetIterator = npcList->begin();
    354353     }
    355354     else
     
    357356   }
    358357
    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());
    362363
    363364   return retNode;
     
    372373PNode* WeaponManager::getDistanceTarget(const PNode* carrier, float distance)
    373374{
    374   tList<BaseObject>* npcList = ClassList::getList(CL_NPC);
     375  std::list<BaseObject*>* npcList = ClassList::getList(CL_NPC);
    375376  if (npcList != NULL)
    376377  {
    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);
    389382  }
    390383  return this->getFixedTarget();
    391 
    392384}
    393385
Note: See TracChangeset for help on using the changeset viewer.