18#ifndef TRINITY_GRIDNOTIFIERS_H
19#define TRINITY_GRIDNOTIFIERS_H
36 template<
typename ObjectType>
58 void SendToSelf(
void);
102 i_map(map), cell(c), p(pair), i_radius(radius) { }
160 template<
typename Packet>
171 template<
typename PacketSender>
210 template<
typename PacketSender>
256 template<
typename Type>
275 template<
typename Type>
295 template<
typename Type>
307 inserter = [](
void* containerRaw, Type&& object)
309 T* container =
reinterpret_cast<T*
>(containerRaw);
310 container->insert(container->end(), std::move(
object));
339 template <u
int32 MapTypeMask>
348 return (MapTypeMask & mapTypeMask) != 0;
352 template<
class Check,
class Result,
class MapTypeMaskCheck = DynamicGr
idMapTypeMaskCheck>
362 if constexpr (MapTypeMaskCheck::IsStatic)
375 template<
typename Container>
384 template<
class Work,
class MapTypeMaskCheck = DynamicGr
idMapTypeMaskCheck>
394 if constexpr (MapTypeMaskCheck::IsStatic)
416 this->
i_work(ref.GetSource());
420 template<
class Check>
430 template<
class Check>
440 template<
class Check>
443 template<
typename Container>
447 template<
typename Container>
452 template<
class Check,
typename Container>
455 template<
class Check,
typename Container>
470 template<
class Check,
class Result>
473 template<
typename Container>
478 template<
class Check>
489 template<
class Check>
499 template<
class Check>
502 template<
typename Container>
506 template<
typename Container>
511 template<
class Check,
typename Container>
514 template<
class Check,
typename Container>
529 template<
class Check,
class Result>
532 template<
typename Container>
538 template<
class Check>
545 :
UnitSearcher(searcher->GetPhaseShift(), result, check) { }
549 template<
class Check>
560 template<
class Check>
563 template<
typename Container>
567 template<
typename Container>
579 :
UnitWorker(searcher->GetPhaseShift(), work) { }
584 template<
class Check,
class Result>
587 template<
typename Container>
592 template<
class Check>
603 template<
class Check>
613 template<
class Check>
616 template<
typename Container>
620 template<
typename Container>
637 template<
class Check,
class Result>
640 template<
typename Container>
645 template<
class Check>
655 template<
class Check>
665 template<
class Check>
668 template<
typename Container>
672 template<
typename Container>
708 template<
class Check,
class Result>
711 template<
typename Container>
716 template<
class Check>
726 template<
class Check>
736 template<
class Check>
739 template<
typename Container>
743 template<
typename Container>
759 template<
class Check,
class Result>
762 template<
typename Container>
767 template<
class Check>
777 template<
class Check>
787 template<
class Check>
790 template<
typename Container>
794 template<
typename Container>
810 template<
class Check,
class Result>
813 template<
typename Container>
818 template<
class Check>
828 template<
class Check>
838 template<
class Check>
841 template<
typename Container>
845 template<
typename Container>
906 bool operator()(
Player* u);
907 bool operator()(
Corpse* u);
909 template<
class NOT_INTERESTED>
bool operator()(NOT_INTERESTED*) {
return false; }
921 bool operator()(
Player* u);
922 bool operator()(
Corpse* u);
924 template<
class NOT_INTERESTED>
bool operator()(NOT_INTERESTED*) {
return false; }
1300 float searchRadius =
_range;
1465 m_range = (dist == 0.f ? 9999.f : dist);
1495 m_range = (dist == 0.f ? 9999.f : dist);
1496 m_force = (dist == 0.f ? false :
true);
1548 if (c->IsCivilian())
1658 template <
typename Customizer = InRangeCheckCustomizer>
1747 template <
typename Customizer = InRangeCheckCustomizer>
1893 if (m_fRange < 0.0f && m_pObject->IsWithinDist(unit,
m_fRange,
false))
1980 return object->GetGUID() ==
_GUID;
2034 return object->GetEntry() ==
_entry && (!
object->IsPrivateObject() ||
object->GetPrivateObjectOwner() ==
_ownerGUID);
2070 template<
typename Localizer>
@ GRID_MAP_TYPE_MASK_PLAYER
@ GRID_MAP_TYPE_MASK_CREATURE
@ GRID_MAP_TYPE_MASK_CONVERSATION
@ GRID_MAP_TYPE_MASK_SCENEOBJECT
@ GRID_MAP_TYPE_MASK_GAMEOBJECT
@ GRID_MAP_TYPE_MASK_AREATRIGGER
std::unordered_set< ObjectGuid > GuidUnorderedSet
@ GAMEOBJECT_TYPE_FISHINGHOLE
@ SPELL_ATTR5_NOT_ON_PLAYER_CONTROLLED_NPC
@ SPELL_ATTR5_NOT_ON_PLAYER
@ CREATURE_TYPE_NON_COMBAT_PET
@ SPELL_ATTR3_ONLY_ON_PLAYER
bool IsStaticSpawn() const
ObjectGuid const & GetGUID() const
void Respawn(bool force=false)
float GetAggroRange(Unit const *target) const
bool HasStringId(std::string_view id) const
bool CanAssistTo(Unit const *u, Unit const *enemy, bool checkfaction=true) const
bool CanStartAttack(Unit const *u, bool force) const
bool HasStringId(std::string_view id) const
ObjectGuid GetOwnerGUID() const override
GameObjectTemplate const * GetGOInfo() const
bool IsInRange(float x, float y, float z, float radius) const
GameobjectTypes GetGoType() const
ObjectGuid::LowType GetSpawnId() const
static ObjectGuid const Empty
void SendDirectMessage(WorldPacket const *data) const
bool HaveAtClient(BaseEntity const *u) const
bool IsGameMaster() const
Team GetEffectiveTeam() const
bool HasAttribute(SpellAttr0 attribute) const
WorldObject const * m_pObject
bool operator()(Unit *unit) const
AllCreaturesOfEntryInRange(WorldObject const *object, uint32 entry, float maxRange=0.0f)
bool operator()(Unit *u) const
AllFriendlyCreaturesInGrid(Unit const *obj)
bool operator()(GameObject *go) const
WorldObject const * m_pObject
AllGameObjectsWithEntryInRange(WorldObject const *object, uint32 entry, float maxRange)
bool operator()(WorldObject *go) const
AllWorldObjectsInRange(WorldObject const *object, float maxRange)
WorldObject const * m_pObject
WorldObject const * i_obj
SpellInfo const * _spellInfo
bool operator()(Unit *u) const
AnyAoETargetUnitInObjectRangeCheck(WorldObject const *obj, Unit const *funit, float range, SpellInfo const *spellInfo=nullptr, bool incOwnRadius=true, bool incTargetRadius=true)
AnyAssistCreatureInRangeCheck(Unit *funit, Unit *enemy, float range)
bool operator()(Creature *u) const
WorldObject const *const i_searchObj
AnyDeadUnitObjectInRangeCheck(WorldObject *searchObj, float range)
bool operator()(NOT_INTERESTED *)
bool operator()(NOT_INTERESTED *)
AnyDeadUnitSpellTargetInRangeCheck(WorldObject *searchObj, float range, SpellInfo const *spellInfo, SpellTargetCheckTypes check, SpellTargetObjectTypes objectType)
WorldObject const * i_obj
bool operator()(Unit *u) const
AnyFriendlyUnitInObjectRangeCheck(WorldObject const *obj, Unit const *funit, float range, bool playerOnly=false, bool incOwnRadius=true, bool incTargetRadius=true)
bool operator()(Unit *u) const
WorldObject const * _source
AnyGroupedUnitInObjectRangeCheck(WorldObject const *obj, Unit const *funit, float range, bool raid, bool playerOnly=false, bool incOwnRadius=true, bool incTargetRadius=true)
bool operator()(Player *u)
AnyPlayerInPositionRangeCheck(Position const *pos, float range, bool reqAlive=true)
bool operator()(Unit *u) const
WorldObject const * i_obj
AnyUnfriendlyUnitInObjectRangeCheck(WorldObject const *obj, Unit const *funit, float range)
AnyUnitInObjectRangeCheck(WorldObject const *obj, float range, bool check3D=true, bool reqAlive=true)
WorldObject const * i_obj
bool operator()(Unit *u) const
void operator()(Creature *u) const
CallOfHelpCreatureInRangeDo(Unit *funit, Unit *enemy, float range)
Customizer & i_customizer
FindCreatureOptions const & i_args
WorldObject const & i_obj
CreatureWithOptionsInObjectRangeCheck(WorldObject const &obj, Customizer &customizer, FindCreatureOptions const &args)
bool operator()(Creature const *u) const
FriendlyBelowHpPctEntryInRange(Unit const *obj, uint32 entry, float range, uint8 pct, bool excludeSelf)
FriendlyCCedInRange(Unit const *obj, float range)
bool operator()(Unit *u) const
FriendlyMissingBuffInRange(Unit const *obj, float range, uint32 spellid)
bool operator()(Unit *u) const
bool operator()(GameObject *go) const
GameObjectFocusCheck(WorldObject const *caster, uint32 focusId)
WorldObject const * _caster
GameObjectInRangeCheck(float _x, float _y, float _z, float _range, uint32 _entry=0)
bool operator()(GameObject *go) const
FindGameObjectOptions const & i_args
bool operator()(GameObject const *go) const
WorldObject const & i_obj
GameObjectWithOptionsInObjectRangeCheck(WorldObject const &obj, Customizer &customizer, FindGameObjectOptions const &args)
Customizer & i_customizer
bool operator()(WorldObject *unit) const
HeightDifferenceCheck(WorldObject *go, float diff, bool reverse)
WorldObject * _baseObject
WorldObject const & i_obj
bool Test(WorldObject const *o) const
void Update(WorldObject const *)
InRangeCheckCustomizer(WorldObject const &obj, float range)
Utility class to enable range for loop syntax for multimap.equal_range uses.
void operator()(Player const *p)
LocalizedDo(Localizer &localizer)
std::remove_pointer_t< decltype(std::declval< Localizer >()(LocaleConstant{}))> LocalizedAction
std::vector< std::unique_ptr< LocalizedAction > > _localizedCache
MostHPMissingInRange(Unit const *obj, float range, uint32 hp)
MostHPPercentMissingInRange(Unit const *obj, float range, uint32 minHpPct, uint32 maxHpPct)
NearestAreaTriggerEntryInObjectRangeCheck(WorldObject const &obj, uint32 entry, float range, bool spawnedOnly=false)
WorldObject const & i_obj
NearestAreaTriggerEntryInObjectRangeCheck(NearestGameObjectEntryInObjectRangeCheck const &)=delete
bool operator()(AreaTrigger const *at)
NearestAssistCreatureInCreatureRangeCheck(NearestAssistCreatureInCreatureRangeCheck const &)=delete
NearestAssistCreatureInCreatureRangeCheck(Creature *obj, Unit *enemy, float range)
bool operator()(Creature *u)
NearestAttackableNoTotemUnitInObjectRangeCheck(WorldObject const *obj, float range)
WorldObject const * i_obj
NearestAttackableUnitInObjectRangeCheck(WorldObject const *obj, Unit const *funit, float range)
WorldObject const * i_obj
NearestAttackableUnitInObjectRangeCheck(NearestAttackableUnitInObjectRangeCheck const &)=delete
WorldObject const & i_obj
NearestCheckCustomizer(WorldObject const &obj, float range)
bool Test(WorldObject const *o) const
void Update(WorldObject const *o)
NearestCreatureEntryWithLiveStateInObjectRangeCheck(WorldObject const &obj, uint32 entry, bool alive, float range)
WorldObject const & i_obj
bool operator()(Creature *u)
NearestCreatureEntryWithLiveStateInObjectRangeCheck(NearestCreatureEntryWithLiveStateInObjectRangeCheck const &)=delete
WorldObject const & i_obj
NearestGameObjectCheck(WorldObject const &obj)
bool operator()(GameObject *go)
NearestGameObjectCheck(NearestGameObjectCheck const &)=delete
NearestGameObjectEntryInObjectRangeCheck(NearestGameObjectEntryInObjectRangeCheck const &)=delete
WorldObject const & i_obj
NearestGameObjectEntryInObjectRangeCheck(WorldObject const &obj, uint32 entry, float range, bool spawnedOnly=true)
bool operator()(GameObject *go)
WorldObject const & i_obj
bool operator()(GameObject *go)
NearestGameObjectFishingHole(NearestGameObjectFishingHole const &)=delete
NearestGameObjectFishingHole(WorldObject const &obj, float range)
NearestGameObjectTypeInObjectRangeCheck(NearestGameObjectTypeInObjectRangeCheck const &)=delete
WorldObject const & i_obj
NearestGameObjectTypeInObjectRangeCheck(WorldObject const &obj, GameobjectTypes type, float range)
bool operator()(GameObject *go)
NearestHostileUnitCheck(NearestHostileUnitCheck const &)=delete
NearestHostileUnitCheck(Creature const *creature, float dist=0.f, bool playerOnly=false)
bool operator()(Unit *u) const
NearestHostileUnitInAggroRangeCheck(NearestHostileUnitInAggroRangeCheck const &)=delete
NearestHostileUnitInAggroRangeCheck(Creature const *creature, bool useLOS=false, bool ignoreCivilians=false)
NearestHostileUnitInAttackDistanceCheck(Creature const *creature, float dist=0.f)
NearestHostileUnitInAttackDistanceCheck(NearestHostileUnitInAttackDistanceCheck const &)=delete
bool operator()(Player *u)
WorldObject const * i_obj
NearestPlayerInObjectRangeCheck(NearestPlayerInObjectRangeCheck const &)=delete
NearestPlayerInObjectRangeCheck(WorldObject const *obj, float range)
bool operator()(GameObject *go)
NearestUnspawnedGameObjectEntryInObjectRangeCheck(NearestUnspawnedGameObjectEntryInObjectRangeCheck const &)=delete
NearestUnspawnedGameObjectEntryInObjectRangeCheck(WorldObject const &obj, uint32 entry, float range)
WorldObject const & i_obj
bool operator()(WorldObject *object) const
ObjectEntryAndPrivateOwnerIfExistsCheck(ObjectGuid ownerGUID, uint32 entry)
bool operator()(WorldObject *object) const
ObjectGUIDCheck(ObjectGuid GUID)
ObjectTypeIdCheck(TypeID typeId, bool equals)
bool operator()(WorldObject *object) const
bool operator()(Player *player) const
PlayerAtMinimumRangeAway(Unit const *unit, float fMinRange)
void operator()(GameObject *u) const
void operator()(WorldObject const *) const
void operator()(Creature *u) const
SearcherContainerResult(T &ref_)
WorldObjectSearcherContinuation ShouldContinue() const
void(*)(void *, Type &&) InserterType
WorldObjectSearcherContinuation ShouldContinue() const
SearcherFirstObjectResult(Type &ref_)
WorldObjectSearcherContinuation ShouldContinue() const
SearcherLastObjectResult(Type &ref_)
UnitAuraCheck(bool present, uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty)
bool operator()(WorldObject *object) const
bool operator()(Unit *unit) const
bool isTargetableForAttack(bool checkFakeDeath=true) const
float GetHealthPct() const
ObjectGuid GetDemonCreatorGUID() const
ObjectGuid GetOwnerGUID() const override
bool HasUnitFlag2(UnitFlags2 flags) const
float GetCombatReach() const override
bool IsInCombatWith(Unit const *who) const
ObjectGuid GetCreatorGUID() const override
uint32 GetCreatureType() const
uint64 GetMaxHealth() const
void EngageWithTarget(Unit *who)
DeathState getDeathState() const
bool HealthBelowPct(float pct) const
bool HasUnitState(const uint32 f) const
bool IsInRaidWith(Unit const *unit) const
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
bool IsControlledByPlayer() const
ObjectGuid GetCharmerGUID() const
bool IsInPartyWith(Unit const *unit) const
bool InSamePhase(PhaseShift const &phaseShift) const
bool IsWithinDist3d(float x, float y, float z, float dist) const
bool CheckPrivateObjectOwnerVisibility(WorldObject const *seer) const
ObjectGuid GetPrivateObjectOwner() const
bool IsValidAttackTarget(WorldObject const *target, SpellInfo const *bySpell=nullptr) const
bool IsHostileTo(WorldObject const *target) const
bool IsPrivateObject() const
bool IsWithinLOSInMap(WorldObject const *obj, LineOfSightChecks checks=LINEOFSIGHT_ALL_CHECKS, VMAP::ModelIgnoreFlags ignoreFlags=VMAP::ModelIgnoreFlags::Nothing) const
bool CanSeeOrDetect(WorldObject const *obj, CanSeeOrDetectExtraArgs const &args={ }) const
float GetDistance(WorldObject const *obj) const
bool IsWithinDist(WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
bool IsFriendlyTo(WorldObject const *target) const
virtual float GetCombatReach() const
bool IsInMap(WorldObject const *obj) const
WorldObjectSearcherContinuation
Optional< FindCreatureAliveState > IsAlive
Optional< std::string_view > StringId
Optional< ObjectGuid > CreatorGuid
Optional< bool > IsSummon
bool IgnoreNotOwnedPrivateObjects
bool IgnorePrivateObjects
Optional< uint32 > AuraSpellId
Optional< ObjectGuid > PrivateObjectOwnerGuid
Optional< uint32 > CreatureId
Optional< ObjectGuid > DemonCreatorGuid
Optional< bool > IsInCombat
Optional< ObjectGuid > OwnerGuid
Optional< ObjectGuid > CharmerGuid
bool IgnoreNotOwnedPrivateObjects
Optional< ObjectGuid > OwnerGuid
Optional< std::string_view > StringId
Optional< GameobjectTypes > GameObjectType
Optional< uint32 > GameObjectId
Optional< ObjectGuid > PrivateObjectOwnerGuid
bool IgnorePrivateObjects
Optional< bool > IsSummon
Optional< bool > IsSpawned
struct GameObjectTemplate::@197::@224 fishingHole
uint32 GetSpellFocusRadius() const
uint32 GetSpellFocusType() const
bool IsWithinVerticalCylinder(Position const &cylinderOrigin, float radius, float height, bool isDoubleVertical=false) const
constexpr float GetPositionZ() const
AIRelocationNotifier(Unit &unit)
void Visit(GridRefManager< T > &)
bool operator()(Unit *u) const
AreaTriggerLastSearcher(WorldObject const *searcher, AreaTrigger *&result, Check &check)
AreaTriggerLastSearcher(PhaseShift const &phaseShift, AreaTrigger *&result, Check &check)
AreaTriggerListSearcher(PhaseShift const &phaseShift, Container &container, Check &check)
AreaTriggerListSearcher(WorldObject const *searcher, Container &container, Check &check)
AreaTriggerSearcherBase(PhaseShift const &phaseShift, Container &result, Check &check)
AreaTriggerSearcher(PhaseShift const &phaseShift, AreaTrigger *&result, Check &check)
AreaTriggerSearcher(WorldObject const *searcher, AreaTrigger *&result, Check &check)
AreaTriggerWorker(WorldObject const *searcher, Work &work)
AreaTriggerWorker(PhaseShift const &phaseShift, Work &work)
ConversationLastSearcher(WorldObject const *searcher, Conversation *&result, Check &check)
ConversationLastSearcher(PhaseShift const &phaseShift, Conversation *&result, Check &check)
ConversationListSearcher(WorldObject const *searcher, Container &container, Check &check)
ConversationListSearcher(PhaseShift const &phaseShift, Container &container, Check &check)
ConversationSearcherBase(PhaseShift const &phaseShift, Container &result, Check &check)
ConversationSearcher(WorldObject const *searcher, Conversation *&result, Check &check)
ConversationSearcher(PhaseShift const &phaseShift, Conversation *&result, Check &check)
ConversationWorker(PhaseShift const &phaseShift, Work &work)
ConversationWorker(WorldObject const *searcher, Work &work)
CreatureAggroGracePeriodExpiredNotifier(Creature &c)
void Visit(GridRefManager< T > &)
CreatureLastSearcher(WorldObject const *searcher, Creature *&result, Check &check)
CreatureLastSearcher(PhaseShift const &phaseShift, Creature *&result, Check &check)
CreatureListSearcher(WorldObject const *searcher, Container &container, Check &check)
CreatureListSearcher(PhaseShift const &phaseShift, Container &container, Check &check)
void Visit(GridRefManager< T > &)
CreatureRelocationNotifier(Creature &c)
CreatureSearcherBase(PhaseShift const &phaseShift, Container &result, Check &check)
CreatureSearcher(PhaseShift const &phaseShift, Creature *&result, Check &check)
CreatureSearcher(WorldObject const *searcher, Creature *&result, Check &check)
CreatureWorker(PhaseShift const &phaseShift, Work &work)
CreatureWorker(WorldObject const *searcher, Work &work)
void Visit(GridRefManager< T > &)
DelayedUnitRelocation(Cell &c, CellCoord &pair, Map &map, float radius)
DynamicGridMapTypeMaskCheck(uint32 mask)
constexpr bool Includes(uint32 mapTypeMask) const
static constexpr bool IsStatic
GameObjectLastSearcher(PhaseShift const &phaseShift, GameObject *&result, Check &check)
GameObjectLastSearcher(WorldObject const *searcher, GameObject *&result, Check &check)
GameObjectListSearcher(PhaseShift const &phaseShift, Container &container, Check &check)
GameObjectListSearcher(WorldObject const *searcher, Container &container, Check &check)
GameObjectSearcherBase(PhaseShift const &phaseShift, Container &result, Check &check)
GameObjectSearcher(WorldObject const *searcher, GameObject *&result, Check &check)
GameObjectSearcher(PhaseShift const &phaseShift, GameObject *&result, Check &check)
GameObjectWorker(PhaseShift const &phaseShift, Work &work)
GameObjectWorker(WorldObject const *searcher, Work &work)
void Visit(CorpseMapType &m)
void Visit(PlayerMapType &m)
void Visit(SceneObjectMapType &m)
void updateObjects(GridRefManager< T > &m)
void Visit(CreatureMapType &m)
void Visit(DynamicObjectMapType &m)
void Visit(AreaTriggerMapType &m)
GridUpdater(GridType &grid, uint32 diff)
void Visit(ConversationMapType &m)
void Visit(GameObjectMapType &m)
MessageDistDelivererToHostile(Unit *src, PacketSender &packetSender, float dist)
PacketSender & i_packetSender
void Visit(PlayerMapType &m) const
void Visit(GridRefManager< SKIP > &) const
PhaseShift const * i_phaseShift
void SendPacket(Player const *player) const
void Visit(GridRefManager< SKIP > &) const
void SendPacket(Player const *player) const
MessageDistDeliverer(WorldObject const *src, PacketSender &packetSender, float dist, bool own_team_only=false, Player const *skipped=nullptr, bool req3dDist=false)
Player const * skipped_receiver
WorldObject const * i_source
PhaseShift const * i_phaseShift
PacketSender & i_packetSender
void Visit(PlayerMapType &m) const
void Visit(PlayerMapType &)
void Visit(GridRefManager< T > &m)
void Visit(CorpseMapType &)
ObjectUpdater(const uint32 diff)
void operator()(Player const *player) const
void operator()(Player const *player) const
PacketSenderRef(WorldPacket const *message)
void Visit(GridRefManager< NOT_INTERESTED > const &) const
WorldObject const * i_searcher
PlayerDistWorker(WorldObject const *searcher, float _dist, Work &_do)
void Visit(PlayerMapType const &m) const
PlayerLastSearcher(PhaseShift const &phaseShift, Player *&result, Check &check)
PlayerLastSearcher(WorldObject const *searcher, Player *&result, Check &check)
PlayerListSearcher(PhaseShift const &phaseShift, Container &container, Check &check)
PlayerListSearcher(WorldObject const *searcher, Container &container, Check &check)
void Visit(GridRefManager< T > &m)
PlayerRelocationNotifier(Player &player)
PlayerSearcherBase(PhaseShift const &phaseShift, Container &result, Check &check)
PlayerSearcher(WorldObject const *searcher, Player *&result, Check &check)
PlayerSearcher(PhaseShift const &phaseShift, Player *&result, Check &check)
PlayerWorker(PhaseShift const &phaseShift, Work &work)
PlayerWorker(WorldObject const *searcher, Work &work)
SceneObjectLastSearcher(PhaseShift const &phaseShift, SceneObject *&result, Check &check)
SceneObjectLastSearcher(WorldObject const *searcher, SceneObject *&result, Check &check)
SceneObjectListSearcher(WorldObject const *searcher, Container &container, Check &check)
SceneObjectListSearcher(PhaseShift const &phaseShift, Container &container, Check &check)
SceneObjectSearcherBase(PhaseShift const &phaseShift, Container &result, Check &check)
SceneObjectSearcher(WorldObject const *searcher, SceneObject *&result, Check &check)
SceneObjectSearcher(PhaseShift const &phaseShift, SceneObject *&result, Check &check)
SceneObjectWorker(PhaseShift const &phaseShift, Work &work)
SceneObjectWorker(WorldObject const *searcher, Work &work)
StaticGridMapTypeMaskCheck(uint32)
static constexpr bool Includes(uint32 mapTypeMask)
static constexpr bool IsStatic
UnitLastSearcher(WorldObject const *searcher, Unit *&result, Check &check)
UnitLastSearcher(PhaseShift const &phaseShift, Unit *&result, Check &check)
UnitListSearcher(WorldObject const *searcher, Container &container, Check &check)
UnitListSearcher(PhaseShift const &phaseShift, Container &container, Check &check)
UnitSearcherBase(PhaseShift const &phaseShift, Container &result, Check &check)
UnitSearcher(WorldObject const *searcher, Unit *&result, Check &check)
UnitSearcher(PhaseShift const &phaseShift, Unit *&result, Check &check)
UnitWorker(PhaseShift const &phaseShift, Work &work)
UnitWorker(WorldObject const *searcher, Work &work)
IteratorPair< WorldObject ** > i_objects
void Visit(GridRefManager< T > &)
VisibleChangesNotifier(IteratorPair< WorldObject ** > objects)
VisibleNotifier(VisibleNotifier &&)=delete
VisibleNotifier & operator=(VisibleNotifier const &)=delete
GuidUnorderedSet vis_guids
VisibleNotifier & operator=(VisibleNotifier &&)=delete
VisibleNotifier(VisibleNotifier const &)=delete
std::set< WorldObject * > i_visibleNow
WorldObjectLastSearcher(PhaseShift const &phaseShift, WorldObject *&result, Check &check, uint32 mapTypeMask=GRID_MAP_TYPE_MASK_ALL)
WorldObjectLastSearcher(WorldObject const *searcher, WorldObject *&result, Check &check, uint32 mapTypeMask=GRID_MAP_TYPE_MASK_ALL)
WorldObjectListSearcher(PhaseShift const &phaseShift, Container &container, Check &check, uint32 mapTypeMask=GRID_MAP_TYPE_MASK_ALL)
WorldObjectListSearcher(WorldObject const *searcher, Container &container, Check &check, uint32 mapTypeMask=GRID_MAP_TYPE_MASK_ALL)
WorldObjectSearcherBase(PhaseShift const &phaseShift, Container &result, Check &check, uint32 mapTypeMask=GRID_MAP_TYPE_MASK_ALL)
void VisitImpl(GridRefManager< T > &)
MapTypeMaskCheck i_mapTypeMask
void Visit(GridRefManager< T > &m)
PhaseShift const * i_phaseShift
WorldObjectSearcher(WorldObject const *searcher, WorldObject *&result, Check &check, uint32 mapTypeMask=GRID_MAP_TYPE_MASK_ALL)
WorldObjectSearcher(PhaseShift const &phaseShift, WorldObject *&result, Check &check, uint32 mapTypeMask=GRID_MAP_TYPE_MASK_ALL)
void VisitImpl(GridRefManager< T > const &m)
WorldObjectWorkerBase(PhaseShift const &phaseShift, Work &work, uint32 mapTypeMask=GRID_MAP_TYPE_MASK_ALL)
MapTypeMaskCheck i_mapTypeMask
PhaseShift const * i_phaseShift
void Visit(GridRefManager< T > const &m)
WorldObjectWorker(WorldObject const *searcher, Work &work, uint32 mapTypeMask=GRID_MAP_TYPE_MASK_ALL)
WorldObjectWorker(PhaseShift const &phaseShift, Work &work, uint32 mapTypeMask=GRID_MAP_TYPE_MASK_ALL)