mirror of
https://github.com/geode-sdk/geode.git
synced 2024-11-30 03:15:38 -05:00
change ModSettingsManager::save return type
This commit is contained in:
parent
64d9a289a3
commit
da92090108
3 changed files with 4 additions and 9 deletions
|
@ -40,12 +40,8 @@ namespace geode {
|
||||||
* The format of the savedata will be an object with the keys being
|
* The format of the savedata will be an object with the keys being
|
||||||
* setting IDs and then the values the values of the saved settings
|
* setting IDs and then the values the values of the saved settings
|
||||||
* @note If saving a setting fails, it will log a warning to the console
|
* @note If saving a setting fails, it will log a warning to the console
|
||||||
* @warning This will overwrite the whole `json` parameter - be sure to
|
|
||||||
* pass the full settings savedata to `load()` so you can be sure that
|
|
||||||
* unregistered custom settings' saved values don't disappear!
|
|
||||||
* @todo in v4: make this return the value instead lol
|
|
||||||
*/
|
*/
|
||||||
void save(matjson::Value& json);
|
matjson::Value save();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the savedata for settings, aka the JSON object that contains all
|
* Get the savedata for settings, aka the JSON object that contains all
|
||||||
|
|
|
@ -210,8 +210,7 @@ Result<> Mod::Impl::saveData() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// ModSettingsManager keeps track of the whole savedata
|
// ModSettingsManager keeps track of the whole savedata
|
||||||
matjson::Value json;
|
matjson::Value json = m_settings->save();
|
||||||
m_settings->save(json);
|
|
||||||
|
|
||||||
// saveData is expected to be synchronous, and always called from GD thread
|
// saveData is expected to be synchronous, and always called from GD thread
|
||||||
ModStateEvent(m_self, ModEventType::DataSaved).post();
|
ModStateEvent(m_self, ModEventType::DataSaved).post();
|
||||||
|
|
|
@ -214,12 +214,12 @@ Result<> ModSettingsManager::load(matjson::Value const& json) {
|
||||||
}
|
}
|
||||||
return Ok();
|
return Ok();
|
||||||
}
|
}
|
||||||
void ModSettingsManager::save(matjson::Value& json) {
|
matjson::Value ModSettingsManager::save() {
|
||||||
for (auto& [key, _] : m_impl->settings) {
|
for (auto& [key, _] : m_impl->settings) {
|
||||||
m_impl->saveSettingValueToSave(key);
|
m_impl->saveSettingValueToSave(key);
|
||||||
}
|
}
|
||||||
// Doing this since `ModSettingsManager` is expected to manage savedata fully
|
// Doing this since `ModSettingsManager` is expected to manage savedata fully
|
||||||
json = m_impl->savedata;
|
return m_impl->savedata;
|
||||||
}
|
}
|
||||||
matjson::Value& ModSettingsManager::getSaveData() {
|
matjson::Value& ModSettingsManager::getSaveData() {
|
||||||
return m_impl->savedata;
|
return m_impl->savedata;
|
||||||
|
|
Loading…
Reference in a new issue