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
1352: _obj(obj), _range(range), _reqAlive(reqAlive), _disallowGM(disallowGM) {}
WorldObject const * _obj
Definition: GridNotifiers.h:1377
bool _disallowGM
Definition: GridNotifiers.h:1380
float _range
Definition: GridNotifiers.h:1378
bool _reqAlive
Definition: GridNotifiers.h:1379

Member Function Documentation

◆ operator()() [1/2]

bool Acore::AnyPlayerInObjectRangeCheck::operator() ( Player u)
inline
1354 {
1355 if (_reqAlive && !u->IsAlive())
1356 return false;
1357
1358 if (_disallowGM && (u->IsGameMaster() || u->IsSpectator()))
1359 return false;
1360
1361 if (!_obj->IsWithinDistInMap(u, _range))
1362 return false;
1363
1364 return true;
1365 }
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool useBoundingRadius=true) const
Definition: Object.cpp:1321
bool IsGameMaster() const
Definition: Player.h:1136
bool IsSpectator() const
Definition: Player.h:2523
bool IsAlive() const
Definition: Unit.h:1808

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
1369 {
1370 if (checkRange && !_obj->IsWithinDistInMap(u, _range))
1371 return false;
1372
1373 return true;
1374 }

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()().