Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
ThreatManager Class Reference

#include <ThreatManager.h>

Collaboration diagram for ThreatManager:

Public Member Functions

void addThreat (Unit *victim, float threat, SpellSchoolMask schoolMask=SPELL_SCHOOL_MASK_NORMAL, SpellInfo const *threatSpell=NULL)
void clearReferences ()
void doAddThreat (Unit *victim, float threat)
HostileReferencegetCurrentVictim () const
UnitgetHostilTarget ()
ThreatContainergetOfflineContainer ()
ThreatContainer::StorageType const & getOfflineThreatList () const
ThreatContainergetOnlineContainer ()
UnitGetOwner () const
float getThreat (Unit *victim, bool alsoSearchOfflineList=false)
ThreatContainer::StorageType const & getThreatList () const
bool isNeedUpdateToClient (uint32 time)
bool isThreatListEmpty () const
void modifyThreatPercent (Unit *victim, int32 percent)
void processThreatEvent (ThreatRefStatusChangeEvent *threatRefStatusChangeEvent)
template<class PREDICATE>
void resetAggro (PREDICATE predicate)
void resetAllAggro ()
void setCurrentVictim (HostileReference *hostileRef)
void setDirty (bool isDirty)
void tauntApply (Unit *taunter)
void tauntFadeOut (Unit *taunter)
 ThreatManager (Unit *owner)
 ~ThreatManager ()

Private Member Functions

void _addThreat (Unit *victim, float threat)

Private Attributes

HostileReferenceiCurrentVictim
UnitiOwner
ThreatContainer iThreatContainer
ThreatContainer iThreatOfflineContainer
uint32 iUpdateTimer

Friends

class HostileReference

Detailed Description

Definition at line 179 of file ThreatManager.h.

Constructor & Destructor Documentation

◆ ThreatManager()

ThreatManager::ThreatManager ( Unit * owner)
explicit

Definition at line 393 of file ThreatManager.cpp.

References iCurrentVictim, iOwner, iUpdateTimer, and THREAT_UPDATE_INTERVAL.

◆ ~ThreatManager()

ThreatManager::~ThreatManager ( )
inline

Definition at line 186 of file ThreatManager.h.

References clearReferences().

Member Function Documentation

◆ _addThreat()

◆ addThreat()

◆ clearReferences()

void ThreatManager::clearReferences ( )

◆ doAddThreat()

void ThreatManager::doAddThreat ( Unit * victim,
float threat )

◆ getCurrentVictim()

HostileReference * ThreatManager::getCurrentVictim ( ) const
inline

Definition at line 204 of file ThreatManager.h.

References HostileReference, and iCurrentVictim.

Referenced by getHostilTarget(), processThreatEvent(), and tauntApply().

◆ getHostilTarget()

Unit * ThreatManager::getHostilTarget ( )

◆ getOfflineContainer()

ThreatContainer & ThreatManager::getOfflineContainer ( )
inline

Definition at line 244 of file ThreatManager.h.

References iThreatOfflineContainer.

◆ getOfflineThreatList()

ThreatContainer::StorageType const & ThreatManager::getOfflineThreatList ( ) const
inline

Definition at line 242 of file ThreatManager.h.

References iThreatOfflineContainer.

Referenced by Unit::SetPhased(), and Unit::SetPhaseMask().

◆ getOnlineContainer()

ThreatContainer & ThreatManager::getOnlineContainer ( )
inline

Definition at line 243 of file ThreatManager.h.

References iThreatContainer.

◆ GetOwner()

◆ getThreat()

◆ getThreatList()

◆ isNeedUpdateToClient()

bool ThreatManager::isNeedUpdateToClient ( uint32 time)

Definition at line 565 of file ThreatManager.cpp.

References isThreatListEmpty(), iUpdateTimer, and THREAT_UPDATE_INTERVAL.

◆ isThreatListEmpty()

bool ThreatManager::isThreatListEmpty ( ) const
inline

Definition at line 198 of file ThreatManager.h.

References iThreatContainer.

Referenced by isNeedUpdateToClient().

◆ modifyThreatPercent()

void ThreatManager::modifyThreatPercent ( Unit * victim,
int32 percent )

◆ processThreatEvent()

◆ resetAggro()

template<class PREDICATE>
void ThreatManager::resetAggro ( PREDICATE predicate)
inline

◆ resetAllAggro()

void ThreatManager::resetAllAggro ( )

Definition at line 580 of file ThreatManager.cpp.

References iThreatContainer, and setDirty().

◆ setCurrentVictim()

void ThreatManager::setCurrentVictim ( HostileReference * hostileRef)

Definition at line 504 of file ThreatManager.cpp.

References HostileReference, iCurrentVictim, and iOwner.

Referenced by getHostilTarget(), and processThreatEvent().

◆ setDirty()

void ThreatManager::setDirty ( bool isDirty)
inline

Definition at line 215 of file ThreatManager.h.

References iThreatContainer.

Referenced by processThreatEvent(), resetAggro(), and resetAllAggro().

◆ tauntApply()

◆ tauntFadeOut()

void ThreatManager::tauntFadeOut ( Unit * taunter)

◆ HostileReference

Member Data Documentation

◆ iCurrentVictim

HostileReference* ThreatManager::iCurrentVictim
private

◆ iOwner

Unit* ThreatManager::iOwner
private

◆ iThreatContainer

◆ iThreatOfflineContainer

ThreatContainer ThreatManager::iThreatOfflineContainer
private

◆ iUpdateTimer

uint32 ThreatManager::iUpdateTimer
private

Definition at line 250 of file ThreatManager.h.

Referenced by clearReferences(), isNeedUpdateToClient(), and ThreatManager().


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