Add GameConfigPluginScoped (#1383)

* Add GameConfigPluginScoped

* Proposed Resolution to sub-object events

* Nullify delegates to prevent memory leaks
This commit is contained in:
MidoriKami 2023-09-21 21:55:56 -07:00 committed by GitHub
parent b742abe77f
commit 43abb12710
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 235 additions and 8 deletions

View file

@ -12,10 +12,25 @@ namespace Dalamud.Plugin.Services;
public interface IGameConfig
{
/// <summary>
/// Event which is fired when a game config option is changed.
/// Event which is fired when any game config option is changed.
/// </summary>
public event EventHandler<ConfigChangeEvent> Changed;
/// <summary>
/// Event which is fired when a system config option is changed.
/// </summary>
public event EventHandler<ConfigChangeEvent> SystemChanged;
/// <summary>
/// Event which is fired when a UiConfig option is changed.
/// </summary>
public event EventHandler<ConfigChangeEvent> UiConfigChanged;
/// <summary>
/// Event which is fired when a UiControl config option is changed.
/// </summary>
public event EventHandler<ConfigChangeEvent> UiControlChanged;
/// <summary>
/// Gets the collection of config options that persist between characters.
/// </summary>