AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
GroupReference Class Reference

#include "GroupReference.h"

Inheritance diagram for GroupReference:
Reference< Group, Player > LinkedListElement

Public Member Functions

 GroupReference ()
 
 ~GroupReference () override
 
GroupReferencenext ()
 
GroupReference const * next () const
 
uint8 getSubGroup () const
 
void setSubGroup (uint8 pSubGroup)
 
- Public Member Functions inherited from Reference< Group, Player >
 Reference ()
 
virtual ~Reference ()=default
 
void link (Group *toObj, Player *fromObj)
 
void unlink ()
 
void invalidate ()
 
bool isValid () const
 
Reference< Group, Player > * next ()
 
Reference< Group, Player > const * next () const
 
Reference< Group, Player > * prev ()
 
Reference< Group, Player > const * prev () const
 
Reference< Group, Player > * nocheck_next ()
 
Reference< Group, Player > const * nocheck_next () const
 
Reference< Group, Player > * nocheck_prev ()
 
Reference< Group, Player > const * nocheck_prev () const
 
Groupoperator-> () const
 
GroupgetTarget () const
 
PlayerGetSource () const
 
- Public Member Functions inherited from LinkedListElement
 LinkedListElement ()=default
 
 ~LinkedListElement ()
 
bool hasNext () const
 
bool hasPrev () const
 
bool isInList () const
 
LinkedListElementnext ()
 
LinkedListElement const * next () const
 
LinkedListElementprev ()
 
LinkedListElement const * prev () const
 
LinkedListElementnocheck_next ()
 
LinkedListElement const * nocheck_next () const
 
LinkedListElementnocheck_prev ()
 
LinkedListElement const * nocheck_prev () const
 
void delink ()
 
void insertBefore (LinkedListElement *pElem)
 
void insertAfter (LinkedListElement *pElem)
 

Protected Member Functions

void targetObjectBuildLink () override
 
void targetObjectDestroyLink () override
 
void sourceObjectDestroyLink () override
 
virtual void targetObjectBuildLink ()=0
 
virtual void targetObjectDestroyLink ()=0
 
virtual void sourceObjectDestroyLink ()=0
 

Protected Attributes

uint8 iSubGroup {0}
 

Detailed Description

Constructor & Destructor Documentation

◆ GroupReference()

GroupReference::GroupReference ( )
inline
Definition: Reference.h:27

◆ ~GroupReference()

GroupReference::~GroupReference ( )
inlineoverride
35{ unlink(); }
void unlink()
Definition: Reference.h:62

References Reference< Group, Player >::unlink().

Member Function Documentation

◆ getSubGroup()

uint8 GroupReference::getSubGroup ( ) const
inline
38{ return iSubGroup; }
uint8 iSubGroup
Definition: GroupReference.h:29

References iSubGroup.

Referenced by Player::GetOriginalSubGroup(), and Player::GetSubGroup().

◆ next() [1/2]

GroupReference * GroupReference::next ( )
inline
Reference< TO, FROM > * next()
Definition: Reference.h:84
Definition: GroupReference.h:27

References Reference< TO, FROM >::next().

Referenced by KillRewarder::_InitGroupData(), KillRewarder::_RewardGroup(), Group::AddMember(), Group::BroadcastPacket(), Group::BroadcastReadyCheck(), Group::CanJoinBattlegroundQueue(), Player::CanUninviteFromGroup(), Spell::CheckCast(), npc_unkor_the_ruthless::npc_unkor_the_ruthlessAI::DamageTaken(), Group::DoForAllMembers(), SmartAI::EndPath(), Loot::FillLoot(), FollowerAI::GetLeaderForFollower(), Player::GetNextRandomRaidMember(), Unit::GetNextRandomRaidMemberOrPet(), Unit::GetPartyMembers(), Player::GetsRecruitAFriendBonus(), SmartScript::GetTargets(), Player::GroupEventHappens(), Group::GroupLoot(), Unit::HandleAuraRaidProcFromChargeWithValue(), WorldSession::HandleBattlemasterJoinArena(), misc_commandscript::HandleGroupSummonCommand(), OutdoorPvP::HandleKill(), lfg_commandscript::HandleLfgGroupInfoCommand(), WorldSession::HandleLfgPartyLockInfoRequestOpcode(), WorldSession::HandleLootMoneyOpcode(), WorldSession::HandlePushQuestToParty(), WorldSession::HandleQuestgiverAcceptQuestOpcode(), spell_razelikh_teleport_group::spell_razelikh_teleport_group_SpellScript::HandleScriptEffect(), WorldSession::HandleSetDungeonDifficultyOpcode(), WorldSession::HandleSetRaidDifficultyOpcode(), tele_commandscript::HandleTeleGroupCommand(), SmartAI::IsEscortInvokerInRange(), npc_escortAI::IsPlayerOrGroupInRange(), lfg::LFGMgr::JoinLfg(), npc_escortAI::JustDied(), FollowerAI::JustDied(), boss_lady_deathwhisper::boss_lady_deathwhisperAI::JustDied(), npc_darnavan::npc_darnavanAI::JustDied(), Unit::Kill(), lfg::LFGMgr::MakeNewGroup(), Group::MasterLoot(), Group::NeedBeforeGreed(), lfg::LFGPlayerScript::OnMapChanged(), Player::RewardPlayerAndGroupAtEvent(), Group::SetDungeonDifficulty(), Group::SetRaidDifficulty(), Totem::UnSummon(), FollowerAI::UpdateAI(), PetAI::UpdateAllies(), Group::UpdatePlayerOutOfRange(), and GameObject::Use().

◆ next() [2/2]

GroupReference const * GroupReference::next ( ) const
inline

◆ setSubGroup()

void GroupReference::setSubGroup ( uint8  pSubGroup)
inline

◆ sourceObjectDestroyLink()

void GroupReference::sourceObjectDestroyLink ( )
overrideprotectedvirtual

Implements Reference< Group, Player >.

33{
34 // called from invalidate()
35}

◆ targetObjectBuildLink()

void GroupReference::targetObjectBuildLink ( )
overrideprotectedvirtual

Implements Reference< Group, Player >.

22{
23 // called from link()
24 getTarget()->LinkMember(this);
25}
Group * getTarget() const
Definition: Reference.h:95
void LinkMember(GroupReference *pRef)
Definition: Group.cpp:2411

References Reference< Group, Player >::getTarget(), and Group::LinkMember().

◆ targetObjectDestroyLink()

void GroupReference::targetObjectDestroyLink ( )
overrideprotectedvirtual

Implements Reference< Group, Player >.

28{
29 // called from unlink()
30}

Member Data Documentation

◆ iSubGroup

uint8 GroupReference::iSubGroup {0}
protected

Referenced by getSubGroup(), and setSubGroup().