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

#include "GridNotifiers.h"

Public Member Functions

 AnyPlayerInObjectRangeCheck (WorldObject const *obj, float range, bool reqAlive=true, bool disallowGM=false)
 
bool operator() (Player *u)
 
bool operator() (Player *u, bool checkRange)
 

Private Attributes

WorldObject const * _obj
 
float _range
 
bool _reqAlive
 
bool _disallowGM
 

Detailed Description

Constructor & Destructor Documentation

◆ AnyPlayerInObjectRangeCheck()

Acore::AnyPlayerInObjectRangeCheck::AnyPlayerInObjectRangeCheck ( WorldObject const *  obj,
float  range,
bool  reqAlive = true,
bool  disallowGM = false 
)
inline
1356: _obj(obj), _range(range), _reqAlive(reqAlive), _disallowGM(disallowGM) {}
WorldObject const * _obj
Definition: GridNotifiers.h:1381
bool _disallowGM
Definition: GridNotifiers.h:1384
float _range
Definition: GridNotifiers.h:1382
bool _reqAlive
Definition: GridNotifiers.h:1383

Member Function Documentation

◆ operator()() [1/2]

bool Acore::AnyPlayerInObjectRangeCheck::operator() ( Player u)
inline
1358 {
1359 if (_reqAlive && !u->IsAlive())
1360 return false;
1361
1362 if (_disallowGM && (u->IsGameMaster() || u->IsSpectator()))
1363 return false;
1364
1365 if (!_obj->IsWithinDistInMap(u, _range))
1366 return false;
1367
1368 return true;
1369 }
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool useBoundingRadius=true) const
Definition: Object.cpp:1332
bool IsGameMaster() const
Definition: Player.h:1175
bool IsSpectator() const
Definition: Player.h:2576
bool IsAlive() const
Definition: Unit.h:1654

References _disallowGM, _obj, _range, _reqAlive, Unit::IsAlive(), Player::IsGameMaster(), Player::IsSpectator(), and WorldObject::IsWithinDistInMap().

◆ operator()() [2/2]

bool Acore::AnyPlayerInObjectRangeCheck::operator() ( Player u,
bool  checkRange 
)
inline
1373 {
1374 if (checkRange && !_obj->IsWithinDistInMap(u, _range))
1375 return false;
1376
1377 return true;
1378 }

References _obj, _range, and WorldObject::IsWithinDistInMap().

Member Data Documentation

◆ _disallowGM

bool Acore::AnyPlayerInObjectRangeCheck::_disallowGM
private

Referenced by operator()().

◆ _obj

WorldObject const* Acore::AnyPlayerInObjectRangeCheck::_obj
private

Referenced by operator()().

◆ _range

float Acore::AnyPlayerInObjectRangeCheck::_range
private

Referenced by operator()().

◆ _reqAlive

bool Acore::AnyPlayerInObjectRangeCheck::_reqAlive
private

Referenced by operator()().