Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. bool AITurret::pickTarget()
  2. {
  3. Point3F pos = this->getBoxCenter();
  4.  
  5. // we pick closest target that is
  6. // in LOS and is at reachable angle
  7. GameBase *chosen = NULL;
  8. F32 dist = 1000000.0;
  9. for (U32 i = 0; i < mObjects.size(); i++)
  10. {
  11. GameBase* obj = mObjects[i];
  12. const char* sTurretTeam = this->getDataField("team",NULL):
  13. const char* sMyValue = obj->getDataField("team",NULL);
  14. if(sTurretTeam != sMyValue)
  15. {
  16. Point3F delta = pos - obj->getBoxCenter();
  17. F32 thisDist = delta.len();
  18. if (thisDist < dist && isInLOS(obj) && isReachableAngle(obj))
  19. {
  20. chosen = obj;
  21. dist = thisDist;
  22. }
  23. }
  24. }
  25.  
  26. setTarget(chosen);
  27.  
  28. return chosen != NULL;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement