diff --git a/JotunnLib/Managers/SynchronizationManager.cs b/JotunnLib/Managers/SynchronizationManager.cs index 506cf2397..b4722dcc8 100644 --- a/JotunnLib/Managers/SynchronizationManager.cs +++ b/JotunnLib/Managers/SynchronizationManager.cs @@ -46,6 +46,11 @@ public class SynchronizationManager : IManager /// public static event Action OnAdminStatusChanged; + /// + /// Event triggered after the in-game configuration manager window is closed + /// + public static event Action OnConfigurationWindowClosed; + private static SynchronizationManager _instance; /// @@ -574,11 +579,21 @@ private void ConfigurationManager_DisplayingWindowChanged(object sender, object if (!ConfigurationManagerWindowShown) { + InvokeOnConfigurationWindowClosed(); + // After closing the window check for changed configs SynchronizeChangedConfig(); } } + /// + /// Safely invoke the event + /// + private void InvokeOnConfigurationWindowClosed() + { + OnConfigurationWindowClosed?.SafeInvoke(); + } + /// /// Initial cache the config values of dependent plugins and register ourself to config change events /// @@ -875,7 +890,7 @@ private void InvokeOnConfigurationSynchronized(bool initial, HashSet plu } /// - /// Safely invoke the event + /// Safely invoke the event /// private void InvokeOnSyncingConfiguration() {