31#define DEFAULT_PHASE 169
60 : Id(id), Flags(
flags), References(0), AreaConditions(conditions) { }
79 template<
typename Container>
99 EraseResult<PhaseContainer> RemovePhase(
uint32 phaseId);
104 EraseResult<VisibleMapIdContainer> RemoveVisibleMapId(
uint32 visibleMapId);
108 bool AddUiMapPhaseId(
uint32 uiMapPhaseId,
int32 references = 1);
109 EraseResult<UiMapPhaseIdContainer> RemoveUiMapPhaseId(
uint32 uiMapPhaseId);
118 bool HasPersonalPhase()
const;
129 void ModifyPhasesReferences(PhaseContainer::iterator itr,
int32 references);
130 void UpdateUnphasedFlag();
131 void UpdatePersonalGuid();
136 bool IsDbPhaseShift =
false;
DEFINE_ENUM_FLAG(PhaseShiftFlags)
constexpr bool HasFlag(T flag) const
VisibleMapIdContainer const & GetVisibleMapIds() const
PhaseShift(PhaseShift const &right)
PhaseShift & operator=(PhaseShift const &right)
bool HasPhase(uint32 phaseId) const
PhaseContainer const & GetPhases() const
PhaseShift & operator=(PhaseShift &&right) noexcept
std::map< uint32, UiMapPhaseIdRef > UiMapPhaseIdContainer
UiMapPhaseIdContainer const & GetUiMapPhaseIds() const
bool HasVisibleMapId(uint32 visibleMapId) const
ObjectGuid GetPersonalGuid() const
std::map< uint32, VisibleMapIdRef > VisibleMapIdContainer
bool HasUiMapPhaseId(uint32 uiMapPhaseId) const
UiMapPhaseIdContainer UiMapPhaseIds
PhaseShift(PhaseShift &&right) noexcept
VisibleMapIdContainer VisibleMapIds
bool CanSee(Player const *player, VignetteData const &vignette)
Container::iterator Iterator
std::vector< Condition > const * AreaConditions
PhaseRef(uint32 id, PhaseFlags flags, std::vector< Condition > const *conditions)
std::strong_ordering operator<=>(PhaseRef const &right) const
bool operator==(PhaseRef const &right) const
EnumFlag< PhaseFlags > Flags