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

#include <ThreatManager.h>

Public Types

typedef std::list< HostileReference * > StorageType

Public Member Functions

HostileReferenceaddThreat (Unit *victim, float threat)
bool empty () const
HostileReferencegetMostHated () const
HostileReferencegetReferenceByTarget (Unit *victim) const
StorageType const & getThreatList () const
bool isDirty () const
void modifyThreatPercent (Unit *victim, int32 percent)
HostileReferenceselectNextVictim (Creature *attacker, HostileReference *currentVictim) const
void setDirty (bool isDirty)
 ThreatContainer ()
 ~ThreatContainer ()

Private Member Functions

void addReference (HostileReference *hostileRef)
void clearReferences ()
void remove (HostileReference *hostileRef)
void update ()

Private Attributes

bool iDirty
StorageType iThreatList

Friends

class ThreatManager

Detailed Description

Definition at line 122 of file ThreatManager.h.

Member Typedef Documentation

◆ StorageType

Definition at line 127 of file ThreatManager.h.

Constructor & Destructor Documentation

◆ ThreatContainer()

ThreatContainer::ThreatContainer ( )
inline

Definition at line 129 of file ThreatManager.h.

References iDirty.

◆ ~ThreatContainer()

ThreatContainer::~ThreatContainer ( )
inline

Definition at line 131 of file ThreatManager.h.

References clearReferences().

Member Function Documentation

◆ addReference()

void ThreatContainer::addReference ( HostileReference * hostileRef)
inlineprivate

Definition at line 163 of file ThreatManager.h.

References iThreatList.

◆ addThreat()

HostileReference * ThreatContainer::addThreat ( Unit * victim,
float threat )

Definition at line 286 of file ThreatManager.cpp.

References HostileReference::addThreat(), and getReferenceByTarget().

◆ clearReferences()

void ThreatContainer::clearReferences ( )
private

Definition at line 254 of file ThreatManager.cpp.

References iThreatList.

Referenced by ~ThreatContainer().

◆ empty()

bool ThreatContainer::empty ( ) const
inline

Definition at line 143 of file ThreatManager.h.

References iThreatList.

◆ getMostHated()

HostileReference * ThreatContainer::getMostHated ( ) const
inline

Definition at line 148 of file ThreatManager.h.

References iThreatList.

◆ getReferenceByTarget()

HostileReference * ThreatContainer::getReferenceByTarget ( Unit * victim) const

Definition at line 267 of file ThreatManager.cpp.

References Object::GetGUID(), HostileReference::getUnitGuid(), and iThreatList.

Referenced by addThreat(), and modifyThreatPercent().

◆ getThreatList()

StorageType const & ThreatContainer::getThreatList ( ) const
inline

Definition at line 155 of file ThreatManager.h.

References iThreatList.

◆ isDirty()

bool ThreatContainer::isDirty ( ) const
inline

Definition at line 141 of file ThreatManager.h.

References iDirty.

Referenced by setDirty().

◆ modifyThreatPercent()

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

◆ remove()

void ThreatContainer::remove ( HostileReference * hostileRef)
inlineprivate

Definition at line 158 of file ThreatManager.h.

References iThreatList.

◆ selectNextVictim()

◆ setDirty()

void ThreatContainer::setDirty ( bool isDirty)
inline

Definition at line 139 of file ThreatManager.h.

References iDirty, and isDirty().

◆ update()

void ThreatContainer::update ( )
private

Definition at line 305 of file ThreatManager.cpp.

References iDirty, and iThreatList.

◆ ThreatManager

friend class ThreatManager
friend

Definition at line 124 of file ThreatManager.h.

References ThreatManager.

Referenced by ThreatManager.

Member Data Documentation

◆ iDirty

bool ThreatContainer::iDirty
private

Definition at line 174 of file ThreatManager.h.

Referenced by isDirty(), setDirty(), ThreatContainer(), and update().

◆ iThreatList

StorageType ThreatContainer::iThreatList
private

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