aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/Map.h
diff options
context:
space:
mode:
authorMatan Shukry <matanshukry@gmail.com>2021-12-28 14:24:10 +0200
committerGitHub <noreply@github.com>2021-12-28 13:24:10 +0100
commit8fabe5a3aacf7797f03d074ab8434f445be64955 (patch)
treedd3c977290be47d5a708947893c3544678045194 /src/server/game/Maps/Map.h
parent1aad7f8ddd486e60f76730d3baa36ec63711c7e8 (diff)
Core/Phasing: Implemented db spawns in personal phases (#26345)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
Diffstat (limited to 'src/server/game/Maps/Map.h')
-rw-r--r--src/server/game/Maps/Map.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h
index e8a1a4d8a00..e5319376181 100644
--- a/src/server/game/Maps/Map.h
+++ b/src/server/game/Maps/Map.h
@@ -30,6 +30,7 @@
#include "MPSCQueue.h"
#include "ObjectGuid.h"
#include "Optional.h"
+#include "PersonalPhaseTracker.h"
#include "SharedDefines.h"
#include "SpawnData.h"
#include "Timer.h"
@@ -313,6 +314,7 @@ class TC_GAME_API Map : public GridRefManager<NGridType>
bool GetUnloadLock(GridCoord const& p) const { return getNGrid(p.x_coord, p.y_coord)->getUnloadLock(); }
void SetUnloadLock(GridCoord const& p, bool on) { getNGrid(p.x_coord, p.y_coord)->setUnloadExplicitLock(on); }
void LoadGrid(float x, float y);
+ void LoadGridForActiveObject(float x, float y, WorldObject const* object);
void LoadAllCells();
bool UnloadGrid(NGridType& ngrid, bool pForce);
void GridMarkNoUnload(uint32 x, uint32 y);
@@ -656,7 +658,7 @@ class TC_GAME_API Map : public GridRefManager<NGridType>
void EnsureGridCreated(GridCoord const&);
void EnsureGridCreated_i(GridCoord const&);
bool EnsureGridLoaded(Cell const&);
- void EnsureGridLoadedForActiveObject(Cell const&, WorldObject* object);
+ void EnsureGridLoadedForActiveObject(Cell const&, WorldObject const* object);
void buildNGridLinkage(NGridType* pNGridType) { pNGridType->link(this); }
@@ -881,6 +883,16 @@ class TC_GAME_API Map : public GridRefManager<NGridType>
std::unordered_set<Object*> _updateObjects;
MPSCQueue<FarSpellCallback> _farSpellCallbacks;
+
+ /*********************************************************/
+ /*** Phasing ***/
+ /*********************************************************/
+ public:
+ MultiPersonalPhaseTracker& GetMultiPersonalPhaseTracker() { return _multiPersonalPhaseTracker; }
+ void UpdatePersonalPhasesForPlayer(Player const* player);
+
+ private:
+ MultiPersonalPhaseTracker _multiPersonalPhaseTracker;
};
enum InstanceResetMethod