2#ifdef StevEngine_PLAYER_DATA
3#include "utilities/KeyValueStore.hpp"
8namespace StevEngine::Data {
21 void Init(std::string title);
29 template<
typename T> T
Read(std::string name)
const {
31 if(!settings.Contains(name)) {
32 Log::Error(std::format(
"Setting with key '{}' not found!", name),
true);
36 return settings.Read<T>(name);
44 bool HasValue(std::string name)
const;
52 template<
typename T>
void Save(std::string name, T data) {
53 settings.Write(name, data);
60 void Delete(std::string name);
74 std::string configPath;
79 extern Settings settings;
Manages game settings and configuration.
Definition Settings.hpp:15
void Delete(std::string name)
Delete saved setting.
Definition Settings.cpp:29
void Save(std::string name, T data)
Save setting value.
Definition Settings.hpp:52
T Read(std::string name) const
Read setting value of specified type.
Definition Settings.hpp:29
std::string GetConfigPath() const
Get path to config directory.
Definition Settings.hpp:66
void Init(std::string title)
Initialize settings manager.
Definition Settings.cpp:19
void SaveToFile() const
Write all settings to disk.
Definition Settings.cpp:32
bool HasValue(std::string name) const
Check if setting exists.
Definition Settings.cpp:26
Definition KeyValueStore.hpp:5