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

#include "GridNotifiers.h"

Public Member Functions

 AnyGroupedUnitInObjectRangeCheck (WorldObject const *obj, Unit const *funit, float range, bool raid)
 
bool operator() (Unit *u)
 

Private Attributes

WorldObject const * _source
 
Unit const * _refUnit
 
float _range
 
bool _raid
 

Detailed Description

Constructor & Destructor Documentation

◆ AnyGroupedUnitInObjectRangeCheck()

Acore::AnyGroupedUnitInObjectRangeCheck::AnyGroupedUnitInObjectRangeCheck ( WorldObject const *  obj,
Unit const *  funit,
float  range,
bool  raid 
)
inline
1011: _source(obj), _refUnit(funit), _range(range), _raid(raid) {}
float _range
Definition: GridNotifiers.h:1028
bool _raid
Definition: GridNotifiers.h:1029
WorldObject const * _source
Definition: GridNotifiers.h:1026
Unit const * _refUnit
Definition: GridNotifiers.h:1027

Member Function Documentation

◆ operator()()

bool Acore::AnyGroupedUnitInObjectRangeCheck::operator() ( Unit u)
inline
1013 {
1014 if (_raid)
1015 {
1016 if (!_refUnit->IsInRaidWith(u))
1017 return false;
1018 }
1019 else if (!_refUnit->IsInPartyWith(u))
1020 return false;
1021
1022 return !_refUnit->IsHostileTo(u) && u->IsAlive() && _source->IsWithinDistInMap(u, _range);
1023 }
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool useBoundingRadius=true) const
Definition: Object.cpp:1321
bool IsAlive() const
Definition: Unit.h:1808
bool IsInRaidWith(Unit const *unit) const
Definition: Unit.cpp:18965
bool IsHostileTo(Unit const *unit) const
Definition: Unit.cpp:10209
bool IsInPartyWith(Unit const *unit) const
Definition: Unit.cpp:18942

References _raid, _range, _refUnit, _source, Unit::IsAlive(), Unit::IsHostileTo(), Unit::IsInPartyWith(), Unit::IsInRaidWith(), and WorldObject::IsWithinDistInMap().

Member Data Documentation

◆ _raid

bool Acore::AnyGroupedUnitInObjectRangeCheck::_raid
private

Referenced by operator()().

◆ _range

float Acore::AnyGroupedUnitInObjectRangeCheck::_range
private

Referenced by operator()().

◆ _refUnit

Unit const* Acore::AnyGroupedUnitInObjectRangeCheck::_refUnit
private

Referenced by operator()().

◆ _source

WorldObject const* Acore::AnyGroupedUnitInObjectRangeCheck::_source
private

Referenced by operator()().