diff options
Diffstat (limited to 'src/game/Map.h')
-rw-r--r-- | src/game/Map.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/game/Map.h b/src/game/Map.h index 981a48bbbb6..9144624b23d 100644 --- a/src/game/Map.h +++ b/src/game/Map.h @@ -405,6 +405,8 @@ class MANGOS_DLL_SPEC Map : public GridRefManager<NGridType>, public MaNGOS::Obj virtual bool RemoveBones(uint64 guid, float x, float y); void UpdateObjectVisibility(WorldObject* obj, Cell cell, CellPair cellpair); + void UpdatePlayerVisibility( Player* player, Cell cell, CellPair cellpair ); + void UpdateObjectsVisibilityFor(Player* player, Cell cell, CellPair cellpair ); void resetMarkedCells() { marked_cells.reset(); } bool isCellMarked(uint32 pCellId) { return marked_cells.test(pCellId); } @@ -517,6 +519,10 @@ class MANGOS_DLL_SPEC Map : public GridRefManager<NGridType>, public MaNGOS::Obj MapRefManager m_mapRefManager; MapRefManager::iterator m_mapRefIter; + PeriodicTimer m_ObjectVisibilityNotifyTimer; + PeriodicTimer m_PlayerVisibilityNotifyTimer; + PeriodicTimer m_RelocationNotifyTimer; + typedef std::set<WorldObject*> ActiveNonPlayers; ActiveNonPlayers m_activeNonPlayers; ActiveNonPlayers::iterator m_activeNonPlayersIter; @@ -537,6 +543,11 @@ class MANGOS_DLL_SPEC Map : public GridRefManager<NGridType>, public MaNGOS::Obj IntervalTimer m_notifyTimer; + void ProcessObjectsVisibility(); + void ProcesssPlayersVisibility(); + void ProcessRelocationNotifies(); + void ResetNotifies(uint16 notify_mask); + bool i_notifyLock, i_scriptLock; std::vector<Unit*> i_unitsToNotifyBacklog; std::vector<Unit*> i_unitsToNotify; |