From cf1e0909c513a60f507700de899166d64e02da43 Mon Sep 17 00:00:00 2001 From: goat <16760685+goaaats@users.noreply.github.com> Date: Sat, 16 Jan 2021 20:12:58 +0100 Subject: [PATCH] feat: plugin file Just For Anna --- Dalamud/Configuration/PluginConfigurations.cs | 14 ++++++++++---- Dalamud/Plugin/DalamudPluginInterface.cs | 5 +++++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Dalamud/Configuration/PluginConfigurations.cs b/Dalamud/Configuration/PluginConfigurations.cs index bb1f67d9f..139bc0df4 100644 --- a/Dalamud/Configuration/PluginConfigurations.cs +++ b/Dalamud/Configuration/PluginConfigurations.cs @@ -21,7 +21,7 @@ namespace Dalamud.Configuration // all future saved configs, and then Load() can probably be removed entirey. public void Save(IPluginConfiguration config, string pluginName) { - File.WriteAllText(GetPath(pluginName).FullName, JsonConvert.SerializeObject(config, Formatting.Indented, new JsonSerializerSettings + File.WriteAllText(GetConfigFile(pluginName).FullName, JsonConvert.SerializeObject(config, Formatting.Indented, new JsonSerializerSettings { TypeNameAssemblyFormatHandling = TypeNameAssemblyFormatHandling.Simple, TypeNameHandling = TypeNameHandling.Objects @@ -29,7 +29,7 @@ namespace Dalamud.Configuration } public IPluginConfiguration Load(string pluginName) { - var path = GetPath(pluginName); + var path = GetConfigFile(pluginName); if (!path.Exists) return null; @@ -60,7 +60,7 @@ namespace Dalamud.Configuration // without reflection - for now this is in support of the existing plugin api public T LoadForType(string pluginName) where T : IPluginConfiguration { - var path = GetPath(pluginName); + var path = GetConfigFile(pluginName); if (!path.Exists) return default(T); @@ -70,7 +70,13 @@ namespace Dalamud.Configuration return JsonConvert.DeserializeObject(File.ReadAllText(path.FullName)); } - private FileInfo GetPath(string pluginName) => new FileInfo(Path.Combine(this.configDirectory.FullName, $"{pluginName}.json")); + /// + /// Get FileInfo to plugin config file. + /// + /// InternalName of the plugin. + /// FileInfo of the config file + public FileInfo GetConfigFile(string pluginName) => new FileInfo(Path.Combine(this.configDirectory.FullName, $"{pluginName}.json")); + private DirectoryInfo GetDirectoryPath(string pluginName) => new DirectoryInfo(Path.Combine(this.configDirectory.FullName, pluginName)); } diff --git a/Dalamud/Plugin/DalamudPluginInterface.cs b/Dalamud/Plugin/DalamudPluginInterface.cs index 9028e462c..e6da93282 100644 --- a/Dalamud/Plugin/DalamudPluginInterface.cs +++ b/Dalamud/Plugin/DalamudPluginInterface.cs @@ -39,6 +39,11 @@ namespace Dalamud.Plugin /// public DirectoryInfo ConfigDirectory => new DirectoryInfo(GetPluginConfigDirectory()); + /// + /// Get the config file of your plugin. + /// + public FileInfo ConfigFile => this.configs.GetConfigFile(this.pluginName); + /// /// The CommandManager object that allows you to add and remove custom chat commands. ///