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

#include <InstanceSaveMgr.h>

Classes

struct  InstResetEvent

Public Types

typedef UNORDERED_MAP< uint32, InstanceSave * > InstanceSaveHashMap
typedef std::multimap< time_t, InstResetEventResetTimeQueue

Public Member Functions

InstanceSaveAddInstanceSave (uint32 mapId, uint32 instanceId, DifficultyID difficulty, time_t resetTime, bool canReset, bool load=false)
InstanceSaveGetInstanceSave (uint32 InstanceId)
uint32 GetNumBoundGroupsTotal ()
uint32 GetNumBoundPlayersTotal ()
uint32 GetNumInstanceSaves ()
time_t GetResetTimeFor (uint32 mapid, DifficultyID d) const
ResetTimeByMapDifficultyMap const & GetResetTimeMap () const
void LoadInstances ()
void LoadResetTimes ()
void RemoveInstanceSave (uint32 InstanceId)
void ScheduleReset (bool add, time_t time, InstResetEvent event)
void SetResetTimeFor (uint32 mapid, DifficultyID d, time_t t)
void Update ()

Static Public Member Functions

static void DeleteInstanceFromDB (uint32 instanceid)

Static Protected Attributes

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

Private Member Functions

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

Private Attributes

bool lock_instLists
InstanceSaveHashMap m_instanceSaveById
ResetTimeByMapDifficultyMap m_resetTimeByMapDifficulty
ResetTimeQueue m_resetTimeQueue

Friends

class InstanceSave
class Skyfire::Singleton< InstanceSaveManager, Skyfire::Mutex >

Detailed Description

Definition at line 132 of file InstanceSaveMgr.h.

Member Typedef Documentation

◆ InstanceSaveHashMap

◆ ResetTimeQueue

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

Definition at line 158 of file InstanceSaveMgr.h.

Constructor & Destructor Documentation

◆ InstanceSaveManager()

InstanceSaveManager::InstanceSaveManager ( )
inlineprivate

Definition at line 138 of file InstanceSaveMgr.h.

References InstanceSaveManager(), and lock_instLists.

Referenced by InstanceSaveManager().

◆ ~InstanceSaveManager()

InstanceSaveManager::~InstanceSaveManager ( )
private

Member Function Documentation

◆ _ResetInstance()

void InstanceSaveManager::_ResetInstance ( uint32 mapid,
uint32 instanceId )
private

◆ _ResetOrWarnAll()

◆ _ResetSave()

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

◆ AddInstanceSave()

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

◆ DeleteInstanceFromDB()

void InstanceSaveManager::DeleteInstanceFromDB ( uint32 instanceid)
static

◆ GetInstanceSave()

InstanceSave * InstanceSaveManager::GetInstanceSave ( uint32 InstanceId)

Definition at line 104 of file InstanceSaveMgr.cpp.

References InstanceSave, and m_instanceSaveById.

Referenced by AddInstanceSave().

◆ GetNumBoundGroupsTotal()

uint32 InstanceSaveManager::GetNumBoundGroupsTotal ( )

Definition at line 645 of file InstanceSaveMgr.cpp.

References m_instanceSaveById.

◆ GetNumBoundPlayersTotal()

uint32 InstanceSaveManager::GetNumBoundPlayersTotal ( )

Definition at line 636 of file InstanceSaveMgr.cpp.

References m_instanceSaveById.

◆ GetNumInstanceSaves()

uint32 InstanceSaveManager::GetNumInstanceSaves ( )
inline

Definition at line 190 of file InstanceSaveMgr.h.

References m_instanceSaveById.

◆ GetResetTimeFor()

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

Definition at line 163 of file InstanceSaveMgr.h.

References m_resetTimeByMapDifficulty, and MAKE_PAIR32().

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

◆ GetResetTimeMap()

ResetTimeByMapDifficultyMap const & InstanceSaveManager::GetResetTimeMap ( ) const
inline

Definition at line 174 of file InstanceSaveMgr.h.

References m_resetTimeByMapDifficulty.

◆ LoadInstances()

void InstanceSaveManager::LoadInstances ( )

◆ LoadResetTimes()

◆ RemoveInstanceSave()

void InstanceSaveManager::RemoveInstanceSave ( uint32 InstanceId)

◆ ScheduleReset()

◆ SetResetTimeFor()

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

Definition at line 169 of file InstanceSaveMgr.h.

References m_resetTimeByMapDifficulty, and MAKE_PAIR32().

Referenced by _ResetOrWarnAll(), and LoadResetTimes().

◆ Update()

void InstanceSaveManager::Update ( )

◆ InstanceSave

friend class InstanceSave
friend

Definition at line 135 of file InstanceSaveMgr.h.

References InstanceSave.

Referenced by AddInstanceSave(), GetInstanceSave(), InstanceSave, and ~InstanceSaveManager().

◆ Skyfire::Singleton< InstanceSaveManager, Skyfire::Mutex >

Definition at line 127 of file InstanceSaveMgr.h.

Member Data Documentation

◆ lock_instLists

bool InstanceSaveManager::lock_instLists
private

Definition at line 202 of file InstanceSaveMgr.h.

Referenced by _ResetSave(), InstanceSaveManager(), and ~InstanceSaveManager().

◆ m_instanceSaveById

◆ m_resetTimeByMapDifficulty

ResetTimeByMapDifficultyMap InstanceSaveManager::m_resetTimeByMapDifficulty
private

Definition at line 206 of file InstanceSaveMgr.h.

Referenced by GetResetTimeFor(), GetResetTimeMap(), and SetResetTimeFor().

◆ m_resetTimeQueue

ResetTimeQueue InstanceSaveManager::m_resetTimeQueue
private

Definition at line 207 of file InstanceSaveMgr.h.

Referenced by ScheduleReset(), and Update().

◆ ResetTimeDelay

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

Definition at line 25 of file InstanceSaveMgr.h.

Referenced by LoadResetTimes(), and Update().


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