Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool AITurret::pickTarget()
- {
- Point3F pos = this->getBoxCenter();
- // we pick closest target that is
- // in LOS and is at reachable angle
- GameBase *chosen = NULL;
- F32 dist = 1000000.0;
- for (U32 i = 0; i < mObjects.size(); i++)
- {
- GameBase* obj = mObjects[i];
- const char* sTurretTeam = this->getDataField("team",NULL):
- const char* sMyValue = obj->getDataField("team",NULL);
- if(sTurretTeam != sMyValue)
- {
- Point3F delta = pos - obj->getBoxCenter();
- F32 thisDist = delta.len();
- if (thisDist < dist && isInLOS(obj) && isReachableAngle(obj))
- {
- chosen = obj;
- dist = thisDist;
- }
- }
- }
- setTarget(chosen);
- return chosen != NULL;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement