From a64fdc7c7be79660391e3854ec4fd52334627271 Mon Sep 17 00:00:00 2001 From: Caraxi Date: Sat, 13 May 2023 22:08:59 +0930 Subject: [PATCH] Add `.InstalledPlugins` --- Dalamud/Plugin/DalamudPluginInterface.cs | 5 +++++ Dalamud/Plugin/InstalledPluginState.cs | 5 +++++ 2 files changed, 10 insertions(+) create mode 100644 Dalamud/Plugin/InstalledPluginState.cs diff --git a/Dalamud/Plugin/DalamudPluginInterface.cs b/Dalamud/Plugin/DalamudPluginInterface.cs index 3ca9a3b38..d7d406806 100644 --- a/Dalamud/Plugin/DalamudPluginInterface.cs +++ b/Dalamud/Plugin/DalamudPluginInterface.cs @@ -200,6 +200,11 @@ public sealed class DalamudPluginInterface : IDisposable /// public List PluginInternalNames => Service.Get().InstalledPlugins.Select(p => p.Manifest.InternalName).ToList(); + /// + /// Gets a list of installed plugins along with their current state. + /// + public IEnumerable InstalledPlugins => Service.Get().InstalledPlugins.Select(p => new InstalledPluginState(p.Name, p.Manifest.InternalName, p.IsLoaded, p.Manifest.EffectiveVersion)); + /// /// Opens the with the plugin name set as search target. /// diff --git a/Dalamud/Plugin/InstalledPluginState.cs b/Dalamud/Plugin/InstalledPluginState.cs new file mode 100644 index 000000000..322db3423 --- /dev/null +++ b/Dalamud/Plugin/InstalledPluginState.cs @@ -0,0 +1,5 @@ +using System; + +namespace Dalamud.Plugin; + +public record InstalledPluginState(string Name, string InternalName, bool IsLoaded, Version Version);