diff options
| author | Matan Shukry <matanshukry@gmail.com> | 2021-12-28 14:24:10 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-28 13:24:10 +0100 |
| commit | 8fabe5a3aacf7797f03d074ab8434f445be64955 (patch) | |
| tree | dd3c977290be47d5a708947893c3544678045194 /src/server/game/Maps/Map.h | |
| parent | 1aad7f8ddd486e60f76730d3baa36ec63711c7e8 (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.h | 14 |
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 |
