AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
Acore::NearestHostileUnitCheck Class Reference

#include "GridNotifiers.h"

Public Member Functions

 NearestHostileUnitCheck (Creature const *creature, float dist=0, bool playerOnly=false)
 
bool operator() (Unit *u)
 

Private Member Functions

 NearestHostileUnitCheck (NearestHostileUnitCheck const &)
 

Private Attributes

Creature const * me
 
float m_range
 
bool i_playerOnly
 

Detailed Description

Constructor & Destructor Documentation

◆ NearestHostileUnitCheck() [1/2]

Acore::NearestHostileUnitCheck::NearestHostileUnitCheck ( Creature const *  creature,
float  dist = 0,
bool  playerOnly = false 
)
inlineexplicit
1184 : me(creature), i_playerOnly(playerOnly)
1185 {
1186 m_range = (dist == 0 ? 9999 : dist);
1187 }
bool i_playerOnly
Definition GridNotifiers.h:1206
Creature const * me
Definition GridNotifiers.h:1204
float m_range
Definition GridNotifiers.h:1205

References m_range.

◆ NearestHostileUnitCheck() [2/2]

Acore::NearestHostileUnitCheck::NearestHostileUnitCheck ( NearestHostileUnitCheck const &  )
private

Member Function Documentation

◆ operator()()

bool Acore::NearestHostileUnitCheck::operator() ( Unit u)
inline
1189 {
1190 if (!me->IsWithinDistInMap(u, m_range, true, false))
1191 return false;
1192
1193 if (!me->IsValidAttackTarget(u))
1194 return false;
1195
1196 if (i_playerOnly && !u->IsPlayer())
1197 return false;
1198
1199 m_range = me->GetDistance(u); // use found unit range as new range limit for next check
1200 return true;
1201 }
bool IsPlayer() const
Definition Object.h:201
bool IsValidAttackTarget(Unit const *target, SpellInfo const *bySpell=nullptr) const
Definition Unit.cpp:13963
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool useBoundingRadius=true) const
Definition Object.cpp:1314
float GetDistance(WorldObject const *obj) const
Definition Object.cpp:1238

References WorldObject::GetDistance(), i_playerOnly, Object::IsPlayer(), Unit::IsValidAttackTarget(), WorldObject::IsWithinDistInMap(), m_range, and me.

Member Data Documentation

◆ i_playerOnly

bool Acore::NearestHostileUnitCheck::i_playerOnly
private

Referenced by operator()().

◆ m_range

float Acore::NearestHostileUnitCheck::m_range
private

◆ me

Creature const* Acore::NearestHostileUnitCheck::me
private

Referenced by operator()().


The documentation for this class was generated from the following file: