aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/Map.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Maps/Map.h')
-rw-r--r--src/server/game/Maps/Map.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h
index 78a8cb3e647..0339d92a6ee 100644
--- a/src/server/game/Maps/Map.h
+++ b/src/server/game/Maps/Map.h
@@ -35,6 +35,7 @@
#include "SharedDefines.h"
#include "SpawnData.h"
#include "Timer.h"
+#include "UniqueTrackablePtr.h"
#include "WorldStateDefines.h"
#include <bitset>
#include <list>
@@ -312,6 +313,9 @@ class TC_GAME_API Map : public GridRefManager<NGridType>
uint32 GetInstanceId() const { return i_InstanceId; }
+ Trinity::unique_weak_ptr<Map> GetWeakPtr() const { return m_weakRef; }
+ void SetWeakPtr(Trinity::unique_weak_ptr<Map> weakRef) { m_weakRef = std::move(weakRef); }
+
static TransferAbortParams PlayerCannotEnter(uint32 mapid, Player* player);
virtual TransferAbortParams CannotEnter(Player* /*player*/) { return { TRANSFER_ABORT_NONE }; }
char const* GetMapName() const;
@@ -605,6 +609,7 @@ class TC_GAME_API Map : public GridRefManager<NGridType>
MapEntry const* i_mapEntry;
Difficulty i_spawnMode;
uint32 i_InstanceId;
+ Trinity::unique_weak_ptr<Map> m_weakRef;
uint32 m_unloadTimer;
float m_VisibleDistance;
DynamicMapTree _dynamicTree;