Sync value on config reload

This commit is contained in:
ghorsington committed 2021-07-18 16:39:23 +03:00
1 parent cb3301dd8e
commit 767f7291ee
2 files changed
+9 -5

No files matched your search

@@ -152,6 +152,11 @@ namespace BepInEx.Configuration
return value;
}
public void SyncFromConfig()
{
BoxedValue = ConfigFile.ConfigurationProvider.GetValue(Definition.ConfigPath, SettingType) ?? DefaultValue;
}
/// <summary>
/// Trigger setting changed event.
/// </summary>
+4 -5
View File
@@ -239,9 +239,10 @@ namespace BepInEx.Configuration
lock (_ioLock)
{
ConfigurationProvider.Load();
foreach (var kv in Entries)
kv.Value.SyncFromConfig();
}
// TODO: Implement configuration document to document entry parsing
OnConfigReloaded();
}
@@ -326,9 +327,7 @@ namespace BepInEx.Configuration
var entry = new ConfigEntry<T>(this, configDefinition, defaultValue, configDescription);
Entries[configDefinition] = entry;
entry.BoxedValue = ConfigurationProvider.GetValue(configDefinition.ConfigPath, typeof(T)) ?? defaultValue;
entry.SyncFromConfig();
if (SaveOnConfigSet)
Save();