AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
anonymous_namespace{AllMapScript.cpp} Namespace Reference

Functions

template<class ScriptName >
void ForeachMaps (Map *map, std::function< void(ScriptName *)> executeHook)
 
template<>
void ForeachMaps (Map *map, std::function< void(WorldMapScript *)> executeHook)
 
template<>
void ForeachMaps (Map *map, std::function< void(InstanceMapScript *)> executeHook)
 
template<>
void ForeachMaps (Map *map, std::function< void(BattlegroundMapScript *)> executeHook)
 

Function Documentation

◆ ForeachMaps() [1/4]

template<>
void anonymous_namespace{AllMapScript.cpp}::ForeachMaps ( Map map,
std::function< void(BattlegroundMapScript *)>  executeHook 
)
inline
107 {
108 auto mapEntry = map->GetEntry();
109
110 if (!mapEntry)
111 {
112 return;
113 }
114
115 if (!mapEntry->IsBattleground())
116 {
117 return;
118 }
119
121 {
122 return;
123 }
124
125 for (auto const& [scriptID, script] : ScriptRegistry<BattlegroundMapScript>::ScriptPointerList)
126 {
127 MapEntry const* mapEntry = script->GetEntry();
128 if (!mapEntry)
129 {
130 continue;
131 }
132
133 if (mapEntry->MapID != map->GetId())
134 {
135 continue;
136 }
137
138 executeHook(script);
139 return;
140 }
141 }
MapEntry const * GetEntry() const
Definition: Map.h:318
uint32 GetId() const
Definition: Map.h:378
Definition: ScriptMgr.h:2766
Definition: DBCStructure.h:1323
uint32 MapID
Definition: DBCStructure.h:1324

References Map::GetEntry(), Map::GetId(), and MapEntry::MapID.

◆ ForeachMaps() [2/4]

template<>
void anonymous_namespace{AllMapScript.cpp}::ForeachMaps ( Map map,
std::function< void(InstanceMapScript *)>  executeHook 
)
inline
69 {
70 auto mapEntry = map->GetEntry();
71
72 if (!mapEntry)
73 {
74 return;
75 }
76
77 if (!mapEntry->IsDungeon())
78 {
79 return;
80 }
81
83 {
84 return;
85 }
86
87 for (auto const& [scriptID, script] : ScriptRegistry<InstanceMapScript>::ScriptPointerList)
88 {
89 MapEntry const* mapEntry = script->GetEntry();
90 if (!mapEntry)
91 {
92 continue;
93 }
94
95 if (mapEntry->MapID != map->GetId())
96 {
97 continue;
98 }
99
100 executeHook(script);
101 return;
102 }
103 }

References Map::GetEntry(), Map::GetId(), and MapEntry::MapID.

◆ ForeachMaps() [3/4]

template<class ScriptName >
void anonymous_namespace{AllMapScript.cpp}::ForeachMaps ( Map map,
std::function< void(ScriptName *)>  executeHook 
)
inline
25 {
26 static_assert(Acore::dependant_false_v<ScriptName>, "Unsupported type used for ForeachMaps");
27 }

◆ ForeachMaps() [4/4]

template<>
void anonymous_namespace{AllMapScript.cpp}::ForeachMaps ( Map map,
std::function< void(WorldMapScript *)>  executeHook 
)
inline
31 {
32 auto mapEntry = map->GetEntry();
33
34 if (!mapEntry)
35 {
36 return;
37 }
38
39 if (!mapEntry->IsWorldMap())
40 {
41 return;
42 }
43
45 {
46 return;
47 }
48
49 for (auto const& [scriptID, script] : ScriptRegistry<WorldMapScript>::ScriptPointerList)
50 {
51 MapEntry const* mapEntry = script->GetEntry();
52 if (!mapEntry)
53 {
54 continue;
55 }
56
57 if (mapEntry->MapID != map->GetId())
58 {
59 continue;
60 }
61
62 executeHook(script);
63 return;
64 }
65 }

References Map::GetEntry(), Map::GetId(), and MapEntry::MapID.