aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/Map.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Maps/Map.cpp')
-rw-r--r--src/server/game/Maps/Map.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index fc2c950b57c..81578dbc41a 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -3534,8 +3534,22 @@ bool Map::IsSpawnGroupActive(uint32 groupId) const
return (_toggledSpawnGroupIds.find(groupId) != _toggledSpawnGroupIds.end()) != !(data->flags & SPAWNGROUP_FLAG_MANUAL_SPAWN);
}
+void Map::AddFarSpellCallback(FarSpellCallback&& callback)
+{
+ _farSpellCallbacks.Enqueue(new FarSpellCallback(std::move(callback)));
+}
+
void Map::DelayedUpdate(uint32 t_diff)
{
+ {
+ FarSpellCallback* callback;
+ while (_farSpellCallbacks.Dequeue(callback))
+ {
+ (*callback)(this);
+ delete callback;
+ }
+ }
+
for (_transportsUpdateIter = _transports.begin(); _transportsUpdateIter != _transports.end();)
{
Transport* transport = *_transportsUpdateIter;