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

#include <InstanceSaveMgr.h>

Classes

struct  InstResetEvent
 

Public Types

typedef std::unordered_map< uint32, InstanceSave * > InstanceSaveHashMap
 
typedef std::multimap< time_t, InstResetEvent > ResetTimeQueue
 

Public Member Functions

void Unload ()
 
void LoadInstances ()
 
void LoadResetTimes ()
 
time_t GetResetTimeFor (uint32 mapid, Difficulty d) const
 
time_t GetSubsequentResetTime (uint32 mapid, Difficulty difficulty, time_t resetTime) const
 
void InitializeResetTimeFor (uint32 mapid, Difficulty d, time_t t)
 
void SetResetTimeFor (uint32 mapid, Difficulty d, time_t t)
 
ResetTimeByMapDifficultyMap const & GetResetTimeMap () const
 
void ScheduleReset (bool add, time_t time, InstResetEvent event)
 
void ForceGlobalReset (uint32 mapId, Difficulty difficulty)
 
void Update ()
 
InstanceSave * AddInstanceSave (uint32 mapId, uint32 instanceId, Difficulty difficulty, time_t resetTime, bool canReset, bool load=false)
 
void RemoveInstanceSave (uint32 InstanceId)
 
void UnloadInstanceSave (uint32 InstanceId)
 
InstanceSave * GetInstanceSave (uint32 InstanceId)
 
uint32 GetNumInstanceSaves () const
 
uint32 GetNumBoundPlayersTotal () const
 
uint32 GetNumBoundGroupsTotal () const
 

Static Public Member Functions

static InstanceSaveManager * instance ()
 
static void DeleteInstanceFromDB (uint32 instanceid)
 

Static Protected Attributes

static uint16 ResetTimeDelay [] = {3600, 900, 300, 60}
 

Private Member Functions

 InstanceSaveManager ()
 
 ~InstanceSaveManager ()
 
void _ResetOrWarnAll (uint32 mapid, Difficulty difficulty, bool warn, time_t resetTime)
 
void _ResetInstance (uint32 mapid, uint32 instanceId)
 
void _ResetSave (InstanceSaveHashMap::iterator &itr)
 

Private Attributes

bool lock_instLists
 
InstanceSaveHashMap m_instanceSaveById
 
ResetTimeByMapDifficultyMap m_resetTimeByMapDifficulty
 
ResetTimeQueue m_resetTimeQueue
 

Friends

class InstanceSave
 

Detailed Description

Definition at line 149 of file InstanceSaveMgr.h.

Member Typedef Documentation

◆ InstanceSaveHashMap

Definition at line 158 of file InstanceSaveMgr.h.

◆ ResetTimeQueue

typedef std::multimap<time_t , InstResetEvent> InstanceSaveManager::ResetTimeQueue

Definition at line 178 of file InstanceSaveMgr.h.

Constructor & Destructor Documentation

◆ InstanceSaveManager()

InstanceSaveManager::InstanceSaveManager ( )
inlineprivate

Definition at line 154 of file InstanceSaveMgr.h.

◆ ~InstanceSaveManager()

InstanceSaveManager::~InstanceSaveManager ( )
private

Definition at line 39 of file InstanceSaveMgr.cpp.

Member Function Documentation

◆ _ResetInstance()

◆ _ResetOrWarnAll()

◆ _ResetSave()

void InstanceSaveManager::_ResetSave ( InstanceSaveHashMap::iterator &  itr)
private

◆ AddInstanceSave()

InstanceSave * InstanceSaveManager::AddInstanceSave ( uint32  mapId,
uint32  instanceId,
Difficulty  difficulty,
time_t  resetTime,
bool  canReset,
bool  load = false 
)

◆ DeleteInstanceFromDB()

void InstanceSaveManager::DeleteInstanceFromDB ( uint32  instanceid)
static

◆ ForceGlobalReset()

void InstanceSaveManager::ForceGlobalReset ( uint32  mapId,
Difficulty  difficulty 
)

◆ GetInstanceSave()

InstanceSave * InstanceSaveManager::GetInstanceSave ( uint32  InstanceId)

Definition at line 124 of file InstanceSaveMgr.cpp.

References m_instanceSaveById.

Referenced by AddInstanceSave(), and UnloadInstanceSave().

◆ GetNumBoundGroupsTotal()

uint32 InstanceSaveManager::GetNumBoundGroupsTotal ( ) const

Definition at line 721 of file InstanceSaveMgr.cpp.

References m_instanceSaveById.

◆ GetNumBoundPlayersTotal()

uint32 InstanceSaveManager::GetNumBoundPlayersTotal ( ) const

Definition at line 712 of file InstanceSaveMgr.cpp.

References m_instanceSaveById.

◆ GetNumInstanceSaves()

uint32 InstanceSaveManager::GetNumInstanceSaves ( ) const
inline

Definition at line 217 of file InstanceSaveMgr.h.

◆ GetResetTimeFor()

time_t InstanceSaveManager::GetResetTimeFor ( uint32  mapid,
Difficulty  d 
) const
inline

Definition at line 183 of file InstanceSaveMgr.h.

References MAKE_PAIR32().

Referenced by AddInstanceSave(), LoadResetTimes(), and Update().

◆ GetResetTimeMap()

ResetTimeByMapDifficultyMap const & InstanceSaveManager::GetResetTimeMap ( ) const
inline

Definition at line 199 of file InstanceSaveMgr.h.

◆ GetSubsequentResetTime()

time_t InstanceSaveManager::GetSubsequentResetTime ( uint32  mapid,
Difficulty  difficulty,
time_t  resetTime 
) const

◆ InitializeResetTimeFor()

void InstanceSaveManager::InitializeResetTimeFor ( uint32  mapid,
Difficulty  d,
time_t  t 
)
inline

Definition at line 191 of file InstanceSaveMgr.h.

References MAKE_PAIR32().

Referenced by LoadResetTimes().

◆ instance()

InstanceSaveManager * InstanceSaveManager::instance ( )
static

Definition at line 43 of file InstanceSaveMgr.cpp.

References instance().

Referenced by instance().

◆ LoadInstances()

void InstanceSaveManager::LoadInstances ( )

◆ LoadResetTimes()

◆ RemoveInstanceSave()

void InstanceSaveManager::RemoveInstanceSave ( uint32  InstanceId)

◆ ScheduleReset()

◆ SetResetTimeFor()

void InstanceSaveManager::SetResetTimeFor ( uint32  mapid,
Difficulty  d,
time_t  t 
)

Definition at line 459 of file InstanceSaveMgr.cpp.

References ASSERT, m_resetTimeByMapDifficulty, and MAKE_PAIR32().

Referenced by _ResetOrWarnAll().

◆ Unload()

◆ UnloadInstanceSave()

void InstanceSaveManager::UnloadInstanceSave ( uint32  InstanceId)

Definition at line 171 of file InstanceSaveMgr.cpp.

References GetInstanceSave().

◆ Update()

void InstanceSaveManager::Update ( )

Friends And Related Symbol Documentation

◆ InstanceSave

friend class InstanceSave
friend

Definition at line 151 of file InstanceSaveMgr.h.

Referenced by AddInstanceSave().

Member Data Documentation

◆ lock_instLists

bool InstanceSaveManager::lock_instLists
private

Definition at line 229 of file InstanceSaveMgr.h.

Referenced by _ResetSave(), and Unload().

◆ m_instanceSaveById

◆ m_resetTimeByMapDifficulty

ResetTimeByMapDifficultyMap InstanceSaveManager::m_resetTimeByMapDifficulty
private

Definition at line 233 of file InstanceSaveMgr.h.

Referenced by SetResetTimeFor().

◆ m_resetTimeQueue

ResetTimeQueue InstanceSaveManager::m_resetTimeQueue
private

Definition at line 234 of file InstanceSaveMgr.h.

Referenced by ScheduleReset(), and Update().

◆ ResetTimeDelay

uint16 InstanceSaveManager::ResetTimeDelay = {3600, 900, 300, 60}
staticprotected

Definition at line 37 of file InstanceSaveMgr.h.

Referenced by LoadResetTimes(), and Update().


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