TrinityCore
Loading...
Searching...
No Matches
PhaseShift Class Reference

#include <PhaseShift.h>

Classes

struct  EraseResult
 
struct  PhaseRef
 
struct  UiMapPhaseIdRef
 
struct  VisibleMapIdRef
 

Public Types

using PhaseContainer = Trinity::Containers::FlatSet< PhaseRef >
 
using VisibleMapIdContainer = std::map< uint32, VisibleMapIdRef >
 
using UiMapPhaseIdContainer = std::map< uint32, UiMapPhaseIdRef >
 

Public Member Functions

 PhaseShift ()
 
 PhaseShift (PhaseShift const &right)
 
 PhaseShift (PhaseShift &&right) noexcept
 
PhaseShift & operator= (PhaseShift const &right)
 
PhaseShift & operator= (PhaseShift &&right) noexcept
 
 ~PhaseShift ()
 
ObjectGuid GetPersonalGuid () const
 
bool AddPhase (uint32 phaseId, PhaseFlags flags, std::vector< Condition > const *areaConditions, int32 references=1)
 
EraseResult< PhaseContainer > RemovePhase (uint32 phaseId)
 
bool HasPhase (uint32 phaseId) const
 
PhaseContainer const & GetPhases () const
 
bool AddVisibleMapId (uint32 visibleMapId, TerrainSwapInfo const *visibleMapInfo, int32 references=1)
 
EraseResult< VisibleMapIdContainer > RemoveVisibleMapId (uint32 visibleMapId)
 
bool HasVisibleMapId (uint32 visibleMapId) const
 
VisibleMapIdContainer const & GetVisibleMapIds () const
 
bool AddUiMapPhaseId (uint32 uiMapPhaseId, int32 references=1)
 
EraseResult< UiMapPhaseIdContainer > RemoveUiMapPhaseId (uint32 uiMapPhaseId)
 
bool HasUiMapPhaseId (uint32 uiMapPhaseId) const
 
UiMapPhaseIdContainer const & GetUiMapPhaseIds () const
 
void Clear ()
 
void ClearPhases ()
 
bool CanSee (PhaseShift const &other) const
 
bool HasPersonalPhase () const
 

Protected Member Functions

void ModifyPhasesReferences (PhaseContainer::iterator itr, int32 references)
 
void UpdateUnphasedFlag ()
 
void UpdatePersonalGuid ()
 

Protected Attributes

EnumFlag< PhaseShiftFlags > Flags = PhaseShiftFlags::Unphased
 
ObjectGuid PersonalGuid
 
PhaseContainer Phases
 
VisibleMapIdContainer VisibleMapIds
 
UiMapPhaseIdContainer UiMapPhaseIds
 
int32 NonCosmeticReferences = 0
 
int32 CosmeticReferences = 0
 
int32 PersonalReferences = 0
 
int32 DefaultReferences = 0
 
bool IsDbPhaseShift = false
 

Friends

class PhasingHandler
 

Detailed Description

Definition at line 54 of file PhaseShift.h.

Member Typedef Documentation

◆ PhaseContainer

◆ UiMapPhaseIdContainer

Definition at line 87 of file PhaseShift.h.

◆ VisibleMapIdContainer

Definition at line 86 of file PhaseShift.h.

Constructor & Destructor Documentation

◆ PhaseShift() [1/3]

PhaseShift::PhaseShift ( )
default

◆ PhaseShift() [2/3]

PhaseShift::PhaseShift ( PhaseShift const &  right)
default

◆ PhaseShift() [3/3]

PhaseShift::PhaseShift ( PhaseShift &&  right)
defaultnoexcept

◆ ~PhaseShift()

PhaseShift::~PhaseShift ( )
default

Member Function Documentation

◆ AddPhase()

bool PhaseShift::AddPhase ( uint32  phaseId,
PhaseFlags  flags,
std::vector< Condition > const *  areaConditions,
int32  references = 1 
)

◆ AddUiMapPhaseId()

bool PhaseShift::AddUiMapPhaseId ( uint32  uiMapPhaseId,
int32  references = 1 
)

◆ AddVisibleMapId()

bool PhaseShift::AddVisibleMapId ( uint32  visibleMapId,
TerrainSwapInfo const *  visibleMapInfo,
int32  references = 1 
)

◆ CanSee()

◆ Clear()

void PhaseShift::Clear ( )

Definition at line 89 of file PhaseShift.cpp.

References ClearPhases(), UiMapPhaseIds, and VisibleMapIds.

◆ ClearPhases()

◆ GetPersonalGuid()

ObjectGuid PhaseShift::GetPersonalGuid ( ) const
inline

◆ GetPhases()

◆ GetUiMapPhaseIds()

UiMapPhaseIdContainer const & PhaseShift::GetUiMapPhaseIds ( ) const
inline

Definition at line 111 of file PhaseShift.h.

◆ GetVisibleMapIds()

VisibleMapIdContainer const & PhaseShift::GetVisibleMapIds ( ) const
inline

Definition at line 106 of file PhaseShift.h.

◆ HasPersonalPhase()

bool PhaseShift::HasPersonalPhase ( ) const

◆ HasPhase()

bool PhaseShift::HasPhase ( uint32  phaseId) const
inline

◆ HasUiMapPhaseId()

bool PhaseShift::HasUiMapPhaseId ( uint32  uiMapPhaseId) const
inline

Definition at line 110 of file PhaseShift.h.

◆ HasVisibleMapId()

bool PhaseShift::HasVisibleMapId ( uint32  visibleMapId) const
inline

◆ ModifyPhasesReferences()

◆ operator=() [1/2]

PhaseShift & PhaseShift::operator= ( PhaseShift &&  right)
defaultnoexcept

◆ operator=() [2/2]

PhaseShift & PhaseShift::operator= ( PhaseShift const &  right)
default

◆ RemovePhase()

PhaseShift::EraseResult< PhaseShift::PhaseContainer > PhaseShift::RemovePhase ( uint32  phaseId)

◆ RemoveUiMapPhaseId()

PhaseShift::EraseResult< PhaseShift::UiMapPhaseIdContainer > PhaseShift::RemoveUiMapPhaseId ( uint32  uiMapPhaseId)

◆ RemoveVisibleMapId()

PhaseShift::EraseResult< PhaseShift::VisibleMapIdContainer > PhaseShift::RemoveVisibleMapId ( uint32  visibleMapId)

Definition at line 58 of file PhaseShift.cpp.

References VisibleMapIds.

◆ UpdatePersonalGuid()

void PhaseShift::UpdatePersonalGuid ( )
protected

Definition at line 191 of file PhaseShift.cpp.

References ObjectGuid::Clear(), PersonalGuid, and PersonalReferences.

Referenced by ModifyPhasesReferences().

◆ UpdateUnphasedFlag()

void PhaseShift::UpdateUnphasedFlag ( )
protected

Friends And Related Symbol Documentation

◆ PhasingHandler

friend class PhasingHandler
friend

Definition at line 121 of file PhaseShift.h.

Member Data Documentation

◆ CosmeticReferences

int32 PhaseShift::CosmeticReferences = 0
protected

Definition at line 133 of file PhaseShift.h.

Referenced by ClearPhases(), and ModifyPhasesReferences().

◆ DefaultReferences

int32 PhaseShift::DefaultReferences = 0
protected

Definition at line 135 of file PhaseShift.h.

Referenced by ClearPhases(), ModifyPhasesReferences(), and UpdateUnphasedFlag().

◆ Flags

◆ IsDbPhaseShift

bool PhaseShift::IsDbPhaseShift = false
protected

◆ NonCosmeticReferences

int32 PhaseShift::NonCosmeticReferences = 0
protected

Definition at line 132 of file PhaseShift.h.

Referenced by ClearPhases(), ModifyPhasesReferences(), and UpdateUnphasedFlag().

◆ PersonalGuid

◆ PersonalReferences

◆ Phases

◆ UiMapPhaseIds

UiMapPhaseIdContainer PhaseShift::UiMapPhaseIds
protected

◆ VisibleMapIds


The documentation for this class was generated from the following files: