void AIJobCollectResources::Loop() { Entity* target = nullptr; if(TargetID == -1) { FindNearestTarget(); } if(TargetID == -1) { return; } target = NPC->MyMap->GetEntityByID(TargetID); if(target != nullptr) { TargetID = target->ID; if(NPC->Position.DistanceTo(target->Position) < 0.3 ) { NPC->InteractTarget = TargetID; NPC->Interacting = true; } } else { TargetID = -1; } NPC->Target = target; NPC->AutoMoving = true; };
bool HillHunter::findTarget(const Target::AntVector::value_type& hill, WeightTask& result) { return FindNearestTarget(hill, state->myAnts, state->GetMapResolution(), result, CanMoveFrom<State>(state)); }