mirror of
https://github.com/HikikoMarmy/Champions-Reborn-Server.git
synced 2026-04-05 00:49:48 -03:00
Reorganized and cleaned up the solution.
This commit is contained in:
43
Include/Game/CharacterSaveManager.hpp
Normal file
43
Include/Game/CharacterSaveManager.hpp
Normal file
@@ -0,0 +1,43 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <memory>
|
||||
#include <unordered_map>
|
||||
|
||||
#include "CharacterSaveTask.hpp"
|
||||
|
||||
class CharacterSaveManager {
|
||||
public:
|
||||
CharacterSaveManager();
|
||||
~CharacterSaveManager();
|
||||
CharacterSaveManager( const CharacterSaveManager & ) = delete;
|
||||
CharacterSaveManager &operator=( const CharacterSaveManager & ) = delete;
|
||||
|
||||
static CharacterSaveManager &Get()
|
||||
{
|
||||
static CharacterSaveManager instance;
|
||||
return instance;
|
||||
}
|
||||
|
||||
bool BeginSaveTask(
|
||||
const sptr_user user,
|
||||
const uint32_t characterId,
|
||||
const CharacterSlotData &metaData,
|
||||
const CharacterSaveType saveType );
|
||||
|
||||
bool BeginSaveTask(
|
||||
const sptr_user m_owner,
|
||||
const sptr_user m_target,
|
||||
const uint32_t characterId,
|
||||
const CharacterSlotData &metaData,
|
||||
const CharacterSaveType saveType );
|
||||
|
||||
void AppendSaveData( const std::wstring &sessionId, const std::vector<uint8_t> &data, bool endOfData );
|
||||
bool CommitSaveTask( const std::wstring &sessionId );
|
||||
void RemoveSaveTask( const std::wstring &sessionId );
|
||||
|
||||
sptr_character_save_task FindSaveTask( const std::wstring &sessionId );
|
||||
|
||||
public:
|
||||
std::unordered_map< std::wstring, sptr_character_save_task > m_tasks;
|
||||
};
|
||||
Reference in New Issue
Block a user