aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/MapManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Maps/MapManager.cpp')
-rw-r--r--src/server/game/Maps/MapManager.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Maps/MapManager.cpp b/src/server/game/Maps/MapManager.cpp
index d340a85e4df..d1ffc63a4c0 100644
--- a/src/server/game/Maps/MapManager.cpp
+++ b/src/server/game/Maps/MapManager.cpp
@@ -33,6 +33,7 @@
#include "Player.h"
#include "WorldSession.h"
#include "Opcodes.h"
+#include "ScriptMgr.h"
#include <numeric>
MapManager::MapManager()
@@ -89,6 +90,8 @@ Map* MapManager::CreateBaseMap(uint32 id)
Trinity::unique_trackable_ptr<Map>& ptr = i_maps[id];
ptr.reset(map);
map->SetWeakPtr(ptr);
+
+ sScriptMgr->OnCreateMap(map);
}
ASSERT(map);
@@ -260,8 +263,12 @@ void MapManager::UnloadAll()
{
// first unload maps
for (auto iter = i_maps.begin(); iter != i_maps.end(); ++iter)
+ {
iter->second->UnloadAll();
+ sScriptMgr->OnDestroyMap(iter->second.get());
+ }
+
// then delete them
i_maps.clear();