AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
Acore::WorldObjectSearcher< Check > Struct Template Reference

#include "GridNotifiers.h"

Public Member Functions

 WorldObjectSearcher (WorldObject const *searcher, WorldObject *&result, Check &check, uint32 mapTypeMask=GRID_MAP_TYPE_MASK_ALL)
 
void Visit (GameObjectMapType &m)
 
void Visit (PlayerMapType &m)
 
void Visit (CreatureMapType &m)
 
void Visit (CorpseMapType &m)
 
void Visit (DynamicObjectMapType &m)
 
template<class NOT_INTERESTED >
void Visit (GridRefMgr< NOT_INTERESTED > &)
 

Public Attributes

uint32 i_mapTypeMask
 
uint32 i_phaseMask
 
WorldObject *& i_object
 
Check & i_check
 

Detailed Description

template<class Check>
struct Acore::WorldObjectSearcher< Check >

Constructor & Destructor Documentation

◆ WorldObjectSearcher()

template<class Check >
Acore::WorldObjectSearcher< Check >::WorldObjectSearcher ( WorldObject const *  searcher,
WorldObject *&  result,
Check &  check,
uint32  mapTypeMask = GRID_MAP_TYPE_MASK_ALL 
)
inline
197 : i_mapTypeMask(mapTypeMask), i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) {}
uint32 i_mapTypeMask
Definition GridNotifiers.h:191
uint32 i_phaseMask
Definition GridNotifiers.h:192
WorldObject *& i_object
Definition GridNotifiers.h:193
Check & i_check
Definition GridNotifiers.h:194

Member Function Documentation

◆ Visit() [1/6]

template<class Check >
void Acore::WorldObjectSearcher< Check >::Visit ( CorpseMapType m)
121{
123 return;
124
125 // already found
126 if (i_object)
127 return;
128
129 for (CorpseMapType::iterator itr = m.begin(); itr != m.end(); ++itr)
130 {
131 if (!itr->GetSource()->InSamePhase(i_phaseMask))
132 continue;
133
134 if (i_check(itr->GetSource()))
135 {
136 i_object = itr->GetSource();
137 return;
138 }
139 }
140}
@ GRID_MAP_TYPE_MASK_CORPSE
Definition GridDefines.h:71
iterator begin()
Definition GridRefMgr.h:35
iterator end()
Definition GridRefMgr.h:36
Definition LinkedList.h:139

References GridRefMgr< OBJECT >::begin(), GridRefMgr< OBJECT >::end(), and GRID_MAP_TYPE_MASK_CORPSE.

◆ Visit() [2/6]

template<class Check >
void Acore::WorldObjectSearcher< Check >::Visit ( CreatureMapType m)
98{
100 return;
101
102 // already found
103 if (i_object)
104 return;
105
106 for (CreatureMapType::iterator itr = m.begin(); itr != m.end(); ++itr)
107 {
108 if (!itr->GetSource()->InSamePhase(i_phaseMask))
109 continue;
110
111 if (i_check(itr->GetSource()))
112 {
113 i_object = itr->GetSource();
114 return;
115 }
116 }
117}
@ GRID_MAP_TYPE_MASK_CREATURE
Definition GridDefines.h:72

References GridRefMgr< OBJECT >::begin(), GridRefMgr< OBJECT >::end(), and GRID_MAP_TYPE_MASK_CREATURE.

◆ Visit() [3/6]

template<class Check >
void Acore::WorldObjectSearcher< Check >::Visit ( DynamicObjectMapType m)
144{
146 return;
147
148 // already found
149 if (i_object)
150 return;
151
152 for (DynamicObjectMapType::iterator itr = m.begin(); itr != m.end(); ++itr)
153 {
154 if (!itr->GetSource()->InSamePhase(i_phaseMask))
155 continue;
156
157 if (i_check(itr->GetSource()))
158 {
159 i_object = itr->GetSource();
160 return;
161 }
162 }
163}
@ GRID_MAP_TYPE_MASK_DYNAMICOBJECT
Definition GridDefines.h:73

References GridRefMgr< OBJECT >::begin(), GridRefMgr< OBJECT >::end(), and GRID_MAP_TYPE_MASK_DYNAMICOBJECT.

◆ Visit() [4/6]

template<class Check >
void Acore::WorldObjectSearcher< Check >::Visit ( GameObjectMapType m)
52{
54 return;
55
56 // already found
57 if (i_object)
58 return;
59
60 for (GameObjectMapType::iterator itr = m.begin(); itr != m.end(); ++itr)
61 {
62 if (!itr->GetSource()->InSamePhase(i_phaseMask))
63 continue;
64
65 if (i_check(itr->GetSource()))
66 {
67 i_object = itr->GetSource();
68 return;
69 }
70 }
71}
@ GRID_MAP_TYPE_MASK_GAMEOBJECT
Definition GridDefines.h:74

References GridRefMgr< OBJECT >::begin(), GridRefMgr< OBJECT >::end(), and GRID_MAP_TYPE_MASK_GAMEOBJECT.

◆ Visit() [5/6]

template<class Check >
template<class NOT_INTERESTED >
void Acore::WorldObjectSearcher< Check >::Visit ( GridRefMgr< NOT_INTERESTED > &  )
inline
205{}

◆ Visit() [6/6]

template<class Check >
void Acore::WorldObjectSearcher< Check >::Visit ( PlayerMapType m)
75{
77 return;
78
79 // already found
80 if (i_object)
81 return;
82
83 for (PlayerMapType::iterator itr = m.begin(); itr != m.end(); ++itr)
84 {
85 if (!itr->GetSource()->InSamePhase(i_phaseMask))
86 continue;
87
88 if (i_check(itr->GetSource()))
89 {
90 i_object = itr->GetSource();
91 return;
92 }
93 }
94}
@ GRID_MAP_TYPE_MASK_PLAYER
Definition GridDefines.h:75

References GridRefMgr< OBJECT >::begin(), GridRefMgr< OBJECT >::end(), and GRID_MAP_TYPE_MASK_PLAYER.

Member Data Documentation

◆ i_check

template<class Check >
Check& Acore::WorldObjectSearcher< Check >::i_check

◆ i_mapTypeMask

template<class Check >
uint32 Acore::WorldObjectSearcher< Check >::i_mapTypeMask

◆ i_object

template<class Check >
WorldObject*& Acore::WorldObjectSearcher< Check >::i_object

◆ i_phaseMask

template<class Check >
uint32 Acore::WorldObjectSearcher< Check >::i_phaseMask

The documentation for this struct was generated from the following files: