diff options
Diffstat (limited to 'src/server/game/Phasing/PhasingHandler.h')
-rw-r--r-- | src/server/game/Phasing/PhasingHandler.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/server/game/Phasing/PhasingHandler.h b/src/server/game/Phasing/PhasingHandler.h index 17d40977e56..dfb8eb7aa94 100644 --- a/src/server/game/Phasing/PhasingHandler.h +++ b/src/server/game/Phasing/PhasingHandler.h @@ -20,6 +20,7 @@ #include "Define.h" #include <string> +#include <vector> class ChatHandler; class Map; @@ -74,8 +75,15 @@ public: static bool IsPersonalPhase(uint32 phaseId); private: - static void AddPhase(WorldObject* object, uint32 phaseId, ObjectGuid const& personalGuid, bool updateVisibility); - static void AddPhaseGroup(WorldObject* object, uint32 phaseGroupId, ObjectGuid const& personalGuid, bool updateVisibility); + class ControlledUnitVisitor; + friend ControlledUnitVisitor; + + static void AddPhase(WorldObject* object, uint32 phaseId, ObjectGuid const& personalGuid, bool updateVisibility, ControlledUnitVisitor& visitor); + static void RemovePhase(WorldObject* object, uint32 phaseId, bool updateVisibility, ControlledUnitVisitor& visitor); + static void AddPhaseGroup(WorldObject* object, std::vector<uint32> const* phasesInGroup, ObjectGuid const& personalGuid, bool updateVisibility, ControlledUnitVisitor& visitor); + static void RemovePhaseGroup(WorldObject* object, std::vector<uint32> const* phasesInGroup, bool updateVisibility, ControlledUnitVisitor& visitor); + static void AddVisibleMapId(WorldObject* object, uint32 visibleMapId, ControlledUnitVisitor& visitor); + static void RemoveVisibleMapId(WorldObject* object, uint32 visibleMapId, ControlledUnitVisitor& visitor); static void UpdateVisibilityIfNeeded(WorldObject* object, bool updateVisibility, bool changed); }; |