From 767f7291eeed433f5cfc7993f9251abe8bc6ca3c Mon Sep 17 00:00:00 2001 From: ghorsington Date: Sun, 18 Jul 2021 16:39:23 +0300 Subject: [PATCH] Sync value on config reload --- BepInEx.Core/Configuration/ConfigEntryBase.cs | 5 +++++ BepInEx.Core/Configuration/ConfigFile.cs | 9 ++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/BepInEx.Core/Configuration/ConfigEntryBase.cs b/BepInEx.Core/Configuration/ConfigEntryBase.cs index d12744e..cd08698 100644 --- a/BepInEx.Core/Configuration/ConfigEntryBase.cs +++ b/BepInEx.Core/Configuration/ConfigEntryBase.cs @@ -152,6 +152,11 @@ namespace BepInEx.Configuration return value; } + public void SyncFromConfig() + { + BoxedValue = ConfigFile.ConfigurationProvider.GetValue(Definition.ConfigPath, SettingType) ?? DefaultValue; + } + /// /// Trigger setting changed event. /// diff --git a/BepInEx.Core/Configuration/ConfigFile.cs b/BepInEx.Core/Configuration/ConfigFile.cs index b0e6e98..e2aea50 100644 --- a/BepInEx.Core/Configuration/ConfigFile.cs +++ b/BepInEx.Core/Configuration/ConfigFile.cs @@ -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(this, configDefinition, defaultValue, configDescription); Entries[configDefinition] = entry; - - entry.BoxedValue = ConfigurationProvider.GetValue(configDefinition.ConfigPath, typeof(T)) ?? defaultValue; - + entry.SyncFromConfig(); if (SaveOnConfigSet) Save();