67 using CrowdPtr = std::unique_ptr<Navigation::DivideDtCrowd>;
80 const AITeamCrowd::const_iterator it =
_aiTeamCrowd.find(radius);
82 return it->second.get();
119 const OrderList::iterator it =
findOrder(order);
147 return eastl::find_if(
150 [&orderID](
const OrderPtr& order) ->
bool {
151 return orderID == order->getID();
156 return eastl::find_if(
158 [&enemyTeamID](
const U32 id) ->
bool {
return id == enemyTeamID; });
std::shared_ptr< Order > OrderPtr
void removeOrder(const Order &order)
void addOrder(const OrderPtr &order)
bool removeEnemyTeam(U32 enemyTeamID)
hashMap< AIEntity *, F32 > MemberVariable
MemberVariable _memberVariable
Container with data per team member. For example a map of distances.
OrderList::iterator findOrder(U32 orderID)
hashMap< AIEntity::PresetAgentRadius, CrowdPtr > AITeamCrowd
void removeCrowd(AIEntity::PresetAgentRadius radius)
void resetCrowd()
Update the crowding system.
bool removeTeamMember(AIEntity *entity)
vector< AIEntity * > getEntityList() const
AIManager & _parentManager
OrderList::iterator findOrder(const Order &order)
bool addTeamMember(AIEntity *entity)
void addCrowd(AIEntity::PresetAgentRadius radius, Navigation::NavigationMesh *navMesh)
bool processInput(TaskPool &parentPool, U64 deltaTimeUS)
const TeamMap & getTeamMembers() const
vector< OrderPtr > OrderList
vector< U32 >::iterator findEnemyTeamEntry(U32 enemyTeamID)
bool addEnemyTeam(U32 enemyTeamID)
bool update(TaskPool &parentPool, U64 deltaTimeUS)
Navigation::DivideDtCrowd * getCrowd(const AIEntity::PresetAgentRadius radius) const
const OrderList & requestOrders() const
hashMap< I64, AIEntity * > TeamMap
PROPERTY_RW(U32, teamID, U32_MAX)
U32 getEnemyTeamID(const U32 index) const
std::unique_ptr< Navigation::DivideDtCrowd > CrowdPtr
vector< U32 > _enemyTeams
MemberVariable & getMemberVariable()
bool processData(TaskPool &parentPool, U64 deltaTimeUS)
Utility class that adds basic GUID management to objects.
Handle console commands that start with a forward slash.
std::lock_guard< mutex > LockGuard
std::shared_mutex SharedMutex
eastl::vector< Type > vector
hashAlg::unordered_map< K, V, HashFun, Predicate > hashMap
std::shared_lock< mutex > SharedLock