diff --git a/Dalamud/Configuration/Internal/DalamudConfiguration.cs b/Dalamud/Configuration/Internal/DalamudConfiguration.cs index 2188b553e..ed10572e4 100644 --- a/Dalamud/Configuration/Internal/DalamudConfiguration.cs +++ b/Dalamud/Configuration/Internal/DalamudConfiguration.cs @@ -85,9 +85,12 @@ namespace Dalamud.Configuration.Internal public List HiddenPluginInternalName { get; set; } = new(); /// - /// Gets or sets a list of additional settings for devPlugins. + /// Gets or sets a list of additional settings for devPlugins. The key is the absolute path + /// to the plugin DLL. This is automatically generated for any plugins in the devPlugins folder. + /// However by specifiying this value manually, you can add arbitrary files outside the normal + /// file paths. /// - public List DevPluginSettings { get; set; } = new(); + public Dictionary DevPluginSettings { get; set; } = new(); /// /// Gets or sets the global UI scale. diff --git a/Dalamud/Configuration/Internal/DevPluginSettings.cs b/Dalamud/Configuration/Internal/DevPluginSettings.cs index fc6557da6..17350cba0 100644 --- a/Dalamud/Configuration/Internal/DevPluginSettings.cs +++ b/Dalamud/Configuration/Internal/DevPluginSettings.cs @@ -5,21 +5,6 @@ namespace Dalamud.Configuration.Internal /// internal sealed class DevPluginSettings { - /// - /// Initializes a new instance of the class. - /// - /// Filename of the DLL representing this plugin. - public DevPluginSettings(string dllFile) - { - this.DllFile = dllFile; - } - - /// - /// Gets or sets the path to a plugin DLL. This is automatically generated for any plugins in the devPlugins folder. However by - /// specifiying this value manually, you can add arbitrary files outside the normal file paths. - /// - public string DllFile { get; set; } - /// /// Gets or sets a value indicating whether this plugin should automatically start when Dalamud boots up. /// diff --git a/Dalamud/Plugin/Internal/LocalDevPlugin.cs b/Dalamud/Plugin/Internal/LocalDevPlugin.cs index 58390270b..77b3be253 100644 --- a/Dalamud/Plugin/Internal/LocalDevPlugin.cs +++ b/Dalamud/Plugin/Internal/LocalDevPlugin.cs @@ -33,18 +33,12 @@ namespace Dalamud.Plugin.Internal public LocalDevPlugin(Dalamud dalamud, FileInfo dllFile, LocalPluginManifest manifest) : base(dalamud, dllFile, manifest) { - // base is called first, ensuring that this is a valid plugin assembly - var devSettings = dalamud.Configuration.DevPluginSettings.FirstOrDefault(cfg => cfg.DllFile == dllFile.FullName); - - if (devSettings == default) + if (!dalamud.Configuration.DevPluginSettings.TryGetValue(dllFile.FullName, out this.devSettings)) { - devSettings = new DevPluginSettings(dllFile.FullName); - dalamud.Configuration.DevPluginSettings.Add(devSettings); + dalamud.Configuration.DevPluginSettings[dllFile.FullName] = this.devSettings = new DevPluginSettings(); dalamud.Configuration.Save(); } - this.devSettings = devSettings; - if (this.AutomaticReload) { this.EnableReloading();