diff options
Diffstat (limited to 'src/server/game/Maps/MapManager.cpp')
-rw-r--r-- | src/server/game/Maps/MapManager.cpp | 7 |
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(); |