From 973ddb478f84c39eff763fcfd481eac3da754ed9 Mon Sep 17 00:00:00 2001 From: Zynh0722 Date: Tue, 6 Feb 2024 23:58:16 -0800 Subject: [PATCH] more mucking about --- SamplePlugin/Configuration.cs | 6 +++--- SamplePlugin/Plugin.cs | 27 ++++++++++++++++++++++++--- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/SamplePlugin/Configuration.cs b/SamplePlugin/Configuration.cs index c9ca4f1..05efc0d 100644 --- a/SamplePlugin/Configuration.cs +++ b/SamplePlugin/Configuration.cs @@ -1,13 +1,13 @@ +using System; using Dalamud.Configuration; using Dalamud.Plugin; -using System; namespace SamplePlugin { [Serializable] public class Configuration : IPluginConfiguration { - public int Version { get; set; } = 0; + public int Version { get; set; } public bool SomePropertyToBeSavedAndWithADefault { get; set; } = true; @@ -22,7 +22,7 @@ namespace SamplePlugin public void Save() { - this.pluginInterface!.SavePluginConfig(this); + pluginInterface!.SavePluginConfig(this); } } } diff --git a/SamplePlugin/Plugin.cs b/SamplePlugin/Plugin.cs index 9fe7f3e..f133bf0 100644 --- a/SamplePlugin/Plugin.cs +++ b/SamplePlugin/Plugin.cs @@ -1,19 +1,22 @@ +using System; using System.IO; using Dalamud.Game.Command; using Dalamud.Interface.Windowing; using Dalamud.IoC; using Dalamud.Plugin; using Dalamud.Plugin.Services; +using Dalamud.Utility; using SamplePlugin.Windows; namespace SamplePlugin { public sealed class Plugin : IDalamudPlugin { - public string Name => "Sample Plugin"; + public static string Name => "Sample Plugin"; private const string CommandName = "/pmycommand"; - private DalamudPluginInterface pluginInterface { get; init; } + [PluginService] + private DalamudPluginInterface pluginInterface { get; set; } = null!; private ICommandManager commandManager { get; init; } public Configuration configuration { get; init; } internal WindowSystem windowSystem = new("SamplePlugin"); @@ -23,12 +26,30 @@ namespace SamplePlugin public Plugin( [RequiredVersion("1.0")] DalamudPluginInterface pluginInterface, - [RequiredVersion("1.0")] ICommandManager commandManager + [RequiredVersion("1.0")] ICommandManager commandManager, + [RequiredVersion("1.0")] IPluginLog log ) { this.pluginInterface = pluginInterface; this.commandManager = commandManager; + var pluginList = pluginInterface.InstalledPlugins; + foreach (var plugin in pluginList) + { + var assemblyName = plugin.GetType().Assembly.GetName().Name; + if ( + !assemblyName.IsNullOrWhitespace() + && !assemblyName.Equals(plugin.InternalName, StringComparison.Ordinal) + ) + { + log.Warning( + "Miss-match: Name: {plugin} AssName: {assemblyName}", + plugin.Name, + assemblyName + ); + } + } + configuration = pluginInterface.GetPluginConfig() as Configuration ?? new Configuration(); configuration.Initialize(this.pluginInterface);