11#ifndef INCGUARD_MGL_SAVEDATA_SERVER_H_1628122698
12#define INCGUARD_MGL_SAVEDATA_SERVER_H_1628122698
22namespace MGL::Savedata
49 return _state == State::Loading;
61 return _state == State::Saving;
73 return _state == State::Ready;
97 return IsReady() && !_existError;
120 return _future.get();
125 enum class State : uint8_t
133 Result Save(DataIdentifier identifier, uint32_t index)
noexcept;
134 Result Load(DataIdentifier identifier, uint32_t index)
noexcept;
141 ChunkListMap _chunkListMap;
143 std::atomic<State> _state;
144 std::future<bool> _future;
149 std::atomic<bool> _existError;
セーブデータチャンク
Definition mgl_savedata_chunk.h:21
セーブデータサーバ
Definition mgl_savedata_server.h:26
bool LoadRequest(const STL::vector< RequestInfo > &requests, bool async, bool haltOnError, bool errorOnFileNotExist) noexcept
ロード要求
Definition mgl_savedata_server.cc:210
bool IsReady() const noexcept
セーブ・ロードが可能な状態かを取得
Definition mgl_savedata_server.h:71
bool IsSaving() const noexcept
セーブ中かを取得
Definition mgl_savedata_server.h:59
int32_t Initialize(STL::unique_ptr< ServerDelegate > &delegate) noexcept
セーブデータサーバの初期化
Definition mgl_savedata_server.cc:56
bool SaveRequest(const STL::vector< RequestInfo > &requests, bool async, bool haltOnError) noexcept
セーブ要求
Definition mgl_savedata_server.cc:149
bool RemoveChunk(DataIdentifier identifier, Chunk *chunk) noexcept
チャンクの削除
Definition mgl_savedata_server.cc:118
bool IsSucceeded() const noexcept
前回の処理に成功したかを取得
Definition mgl_savedata_server.h:95
static STL::unique_ptr< Server > & GetInstanceRef() noexcept
インスタンスの取得
Definition mgl_savedata_server.cc:28
Server() noexcept
コンストラクタ
Definition mgl_savedata_server.cc:40
constexpr const STL::vector< Result > & GetLastResults() const noexcept
最後に発生した処理結果を取得
Definition mgl_savedata_server.h:106
bool IsProcessing() const noexcept
処理中かを取得
Definition mgl_savedata_server.h:83
bool Wait() noexcept
実行中の処理が完了するまで待機
Definition mgl_savedata_server.h:118
bool AddChunk(DataIdentifier identifier, Chunk *chunk) noexcept
チャンクの追加
Definition mgl_savedata_server.cc:93
bool IsLoading() const noexcept
ロード中かを取得
Definition mgl_savedata_server.h:47
シングルトンテンプレート(共有ライブラリ用)
Definition mgl_singleton.h:44
uint32_t DataIdentifier
セーブデータ識別子
Definition mgl_savedata_defs.h:30
std::list< T, Allocator< T > > list
std::listの代替
Definition mgl_stl_containers.h:47
std::unordered_map< Key, T, Hash, Pred, Allocator< std::pair< const Key, T > > > unordered_map
std::unordered_mapの代替
Definition mgl_stl_containers.h:71
std::vector< T, Allocator< T > > vector
std::vectorの代替
Definition mgl_stl_containers.h:51
std::unique_ptr< T, Deleter > unique_ptr
MGLのアロケータを利用するユニークポインタ
Definition mgl_stl_memory.h:247