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

#include <PhasingHandler.h>

Classes

class  ControlledUnitVisitor
 

Static Public Member Functions

static void AddPhase (WorldObject *object, uint32 phaseId, bool updateVisibility)
 
static void RemovePhase (WorldObject *object, uint32 phaseId, bool updateVisibility)
 
static void AddPhaseGroup (WorldObject *object, uint32 phaseGroupId, bool updateVisibility)
 
static void RemovePhaseGroup (WorldObject *object, uint32 phaseGroupId, bool updateVisibility)
 
static void AddVisibleMapId (WorldObject *object, uint32 visibleMapId)
 
static void RemoveVisibleMapId (WorldObject *object, uint32 visibleMapId)
 
static void ResetPhaseShift (WorldObject *object)
 
static void InheritPhaseShift (WorldObject *target, WorldObject const *source)
 
static void OnMapChange (WorldObject *object)
 
static void OnAreaChange (WorldObject *object)
 
static bool OnConditionChange (WorldObject *object, bool updateVisibility=true)
 
static void SendToPlayer (Player const *player, PhaseShift const &phaseShift)
 
static void SendToPlayer (Player const *player)
 
static void FillPartyMemberPhase (WorldPackets::Party::PartyMemberPhaseStates *partyMemberPhases, PhaseShift const &phaseShift)
 
static PhaseShift const & GetEmptyPhaseShift ()
 
static PhaseShift const & GetAlwaysVisiblePhaseShift ()
 
static void InitDbPhaseShift (PhaseShift &phaseShift, uint8 phaseUseFlags, uint16 phaseId, uint32 phaseGroupId)
 
static void InitDbPersonalOwnership (PhaseShift &phaseShift, ObjectGuid const &personalGuid)
 
static void InitDbVisibleMapId (PhaseShift &phaseShift, int32 visibleMapId)
 
static bool InDbPhaseShift (WorldObject const *object, uint8 phaseUseFlags, uint16 phaseId, uint32 phaseGroupId)
 
static uint32 GetTerrainMapId (PhaseShift const &phaseShift, uint32 mapId, TerrainInfo const *terrain, float x, float y)
 
static void SetAlwaysVisible (WorldObject *object, bool apply, bool updateVisibility)
 
static void SetInversed (WorldObject *object, bool apply, bool updateVisibility)
 
static void PrintToChat (ChatHandler *chat, WorldObject const *target)
 
static std::string FormatPhases (PhaseShift const &phaseShift)
 
static bool IsPersonalPhase (uint32 phaseId)
 

Static Private Member Functions

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)
 

Private Attributes

friend ControlledUnitVisitor
 

Detailed Description

Definition at line 39 of file PhasingHandler.h.

Member Function Documentation

◆ AddPhase() [1/2]

◆ AddPhase() [2/2]

void PhasingHandler::AddPhase ( WorldObject *  object,
uint32  phaseId,
ObjectGuid const &  personalGuid,
bool  updateVisibility,
ControlledUnitVisitor &  visitor 
)
staticprivate

◆ AddPhaseGroup() [1/2]

void PhasingHandler::AddPhaseGroup ( WorldObject *  object,
std::vector< uint32 > const *  phasesInGroup,
ObjectGuid const &  personalGuid,
bool  updateVisibility,
ControlledUnitVisitor &  visitor 
)
staticprivate

◆ AddPhaseGroup() [2/2]

void PhasingHandler::AddPhaseGroup ( WorldObject *  object,
uint32  phaseGroupId,
bool  updateVisibility 
)
static

◆ AddVisibleMapId() [1/2]

void PhasingHandler::AddVisibleMapId ( WorldObject *  object,
uint32  visibleMapId 
)
static

◆ AddVisibleMapId() [2/2]

◆ FillPartyMemberPhase()

◆ FormatPhases()

std::string PhasingHandler::FormatPhases ( PhaseShift const &  phaseShift)
static

Definition at line 677 of file PhasingHandler.cpp.

References PhaseShift::Phases.

Referenced by group_commandscript::HandleGroupListCommand().

◆ GetAlwaysVisiblePhaseShift()

◆ GetEmptyPhaseShift()

◆ GetTerrainMapId()

◆ InDbPhaseShift()

bool PhasingHandler::InDbPhaseShift ( WorldObject const *  object,
uint8  phaseUseFlags,
uint16  phaseId,
uint32  phaseGroupId 
)
static

◆ InheritPhaseShift()

◆ InitDbPersonalOwnership()

void PhasingHandler::InitDbPersonalOwnership ( PhaseShift &  phaseShift,
ObjectGuid const &  personalGuid 
)
static

◆ InitDbPhaseShift()

◆ InitDbVisibleMapId()

◆ IsPersonalPhase()

bool PhasingHandler::IsPersonalPhase ( uint32  phaseId)
static

Definition at line 686 of file PhasingHandler.cpp.

References Personal, and sPhaseStore.

Referenced by ObjectMgr::AddSpawnDataToGrid(), and ObjectMgr::RemoveSpawnDataFromGrid().

◆ OnAreaChange()

◆ OnConditionChange()

bool PhasingHandler::OnConditionChange ( WorldObject *  object,
bool  updateVisibility = true 
)
static

Definition at line 374 of file PhasingHandler.cpp.

References PhaseShift::AddPhase(), PhaseShift::AddUiMapPhaseId(), PhaseShift::AddVisibleMapId(), ASSERT_NOTNULL, Trinity::Containers::FlatSet< Key, Compare, KeyContainer >::begin(), CONDITION_SOURCE_TYPE_TERRAIN_SWAP, DISABLE_TYPE_PHASE_AREA, Trinity::Containers::FlatSet< Key, Compare, KeyContainer >::empty(), Trinity::Containers::FlatSet< Key, Compare, KeyContainer >::end(), Trinity::Containers::FlatSet< Key, Compare, KeyContainer >::erase(), Unit::GetAuraEffectsByType(), InheritPhaseShift(), DisableMgr::IsDisabledFor(), PhaseShift::ModifyPhasesReferences(), Unit::OnPhaseChange(), PhaseShift::PersonalGuid, PhaseShift::PersonalReferences, PhaseShift::Phases, Unit::RemoveNotOwnSingleTargetAuras(), PhaseShift::RemovePhase(), PhaseShift::RemoveUiMapPhaseId(), sConditionMgr, sDB2Manager, SPELL_AURA_PHASE, SPELL_AURA_PHASE_GROUP, Object::ToUnit(), UpdateVisibilityIfNeeded(), PhaseShift::VisibleMapIds, and PhasingHandler::ControlledUnitVisitor::VisitControlledOf().

Referenced by Player::AddQuest(), Scripts::Pandaria::TheJadeForest::spell_summon_gunship_turret::AfterApply(), spell_gen_force_phase_update::AfterApply(), spell_gen_force_phase_update::AfterRemove(), Garrison::Create(), Spell::EffectUpdatePlayerPhase(), scene_auchindoun_soulbinder_nyami::HandleScene(), conversation_guards_intro_standing_accused::OnCreate(), go_master_surveyor::OnGossipHello(), npc_baros_alexston::OnGossipSelect(), npc_kayn_sunfury_invasion_begins::OnQuestAccept(), npc_kayn_sunfury_ashtongue_intro::OnQuestAccept(), npc_master_mathias_shaw_human_heritage_lions_pride_inn_basement::OnQuestAccept(), Scripts::EasternKingdoms::StormwindCity::npc_anduin_wrynn_nation_of_kultiras::OnQuestAccept(), Scripts::EasternKingdoms::StormwindCity::npc_arkonarin_starshade_ancient_curses::OnQuestAccept(), quest_the_cost_of_war::OnQuestStatusChange(), quest_blaze_of_glory::OnQuestStatusChange(), scene_drustvar_cleanse_fallhaven::OnSceneCancel(), scene_demonhunter_intro::OnSceneComplete(), scene_dark_portal_run_away::OnSceneComplete(), scene_bleeding_hollow_holdout::OnSceneComplete(), scene_drustvar_cleanse_fallhaven::OnSceneComplete(), scene_enter_the_illidari_coilskar::OnSceneStart(), scene_enter_the_illidari_ashtongue::OnSceneTriggerEvent(), Scripts::Pandaria::TheWanderingIsle::at_min_dimwind_captured::OnTrigger(), conversation_boralus_cyrus_meets_genn::OnUpdate(), Player::RemoveActiveQuest(), Player::RemoveRewardedQuest(), Player::RewardQuest(), Player::SkipQuests(), Player::UpdateQuestObjectiveProgress(), and npc_7th_legion_magus_sanctum_of_the_sages::WaypointReached().

◆ OnMapChange()

◆ PrintToChat()

◆ RemovePhase() [1/2]

◆ RemovePhase() [2/2]

void PhasingHandler::RemovePhase ( WorldObject *  object,
uint32  phaseId,
bool  updateVisibility,
ControlledUnitVisitor &  visitor 
)
staticprivate

◆ RemovePhaseGroup() [1/2]

void PhasingHandler::RemovePhaseGroup ( WorldObject *  object,
std::vector< uint32 > const *  phasesInGroup,
bool  updateVisibility,
ControlledUnitVisitor &  visitor 
)
staticprivate

◆ RemovePhaseGroup() [2/2]

void PhasingHandler::RemovePhaseGroup ( WorldObject *  object,
uint32  phaseGroupId,
bool  updateVisibility 
)
static

◆ RemoveVisibleMapId() [1/2]

void PhasingHandler::RemoveVisibleMapId ( WorldObject *  object,
uint32  visibleMapId 
)
static

◆ RemoveVisibleMapId() [2/2]

◆ ResetPhaseShift()

void PhasingHandler::ResetPhaseShift ( WorldObject *  object)
static

◆ SendToPlayer() [1/2]

void PhasingHandler::SendToPlayer ( Player const *  player)
static

Definition at line 510 of file PhasingHandler.cpp.

References WorldObject::GetPhaseShift(), and SendToPlayer().

◆ SendToPlayer() [2/2]

◆ SetAlwaysVisible()

void PhasingHandler::SetAlwaysVisible ( WorldObject *  object,
bool  apply,
bool  updateVisibility 
)
static

◆ SetInversed()

void PhasingHandler::SetInversed ( WorldObject *  object,
bool  apply,
bool  updateVisibility 
)
static

Definition at line 613 of file PhasingHandler.cpp.

References Inverse, and UpdateVisibilityIfNeeded().

◆ UpdateVisibilityIfNeeded()

void PhasingHandler::UpdateVisibilityIfNeeded ( WorldObject *  object,
bool  updateVisibility,
bool  changed 
)
staticprivate

Member Data Documentation

◆ ControlledUnitVisitor

Definition at line 80 of file PhasingHandler.h.


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