From fe1101a0fb05ab066461f324ba9a26a62706f42c Mon Sep 17 00:00:00 2001 From: Aireil <33433913+Aireil@users.noreply.github.com> Date: Sun, 6 Dec 2020 03:43:37 +0100 Subject: [PATCH] Add commands in plugin descriptions --- Dalamud/Game/Command/CommandInfo.cs | 5 +++++ Dalamud/Plugin/PluginInstallerWindow.cs | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/Dalamud/Game/Command/CommandInfo.cs b/Dalamud/Game/Command/CommandInfo.cs index 3905a843c..c735f78a8 100644 --- a/Dalamud/Game/Command/CommandInfo.cs +++ b/Dalamud/Game/Command/CommandInfo.cs @@ -1,3 +1,5 @@ +using System.Reflection; + namespace Dalamud.Game.Command { /// /// This class describes a registered command. @@ -31,6 +33,9 @@ namespace Dalamud.Game.Command { /// public CommandInfo(HandlerDelegate handler) { Handler = handler; + LoaderAssemblyName = Assembly.GetCallingAssembly()?.GetName()?.Name; } + + internal string LoaderAssemblyName { get; set; } = string.Empty; } } diff --git a/Dalamud/Plugin/PluginInstallerWindow.cs b/Dalamud/Plugin/PluginInstallerWindow.cs index f405492a4..448796556 100644 --- a/Dalamud/Plugin/PluginInstallerWindow.cs +++ b/Dalamud/Plugin/PluginInstallerWindow.cs @@ -173,6 +173,15 @@ namespace Dalamud.Plugin x => x.Definition.InternalName == pluginDefinition.InternalName); + if (this.dalamud.CommandManager.Commands.Any(x => x.Value.LoaderAssemblyName == installedPlugin.Definition?.InternalName)) { + ImGui.Dummy(new Vector2(10, 10) * ImGui.GetIO().FontGlobalScale); + foreach (var command in this.dalamud.CommandManager.Commands) { + if (command.Value.LoaderAssemblyName == installedPlugin.Definition.InternalName && command.Value.ShowInHelp) { + ImGui.Text($"{command.Key} → {command.Value.HelpMessage}"); + } + } + } + if (ImGui.Button(Loc.Localize("InstallerDisable", "Disable"))) try { this.dalamud.PluginManager.DisablePlugin(installedPlugin.Definition);