diff --git a/Dalamud/Interface/UiBuilder.cs b/Dalamud/Interface/UiBuilder.cs index 0e689236d..d07512c23 100644 --- a/Dalamud/Interface/UiBuilder.cs +++ b/Dalamud/Interface/UiBuilder.cs @@ -58,6 +58,11 @@ namespace Dalamud.Interface public TextureWrap LoadImage(byte[] imageData) => this.interfaceManager.LoadImage(imageData); + /// + /// Event that is fired when the plugin should open its configuration interface. + /// + public EventHandler OnOpenConfigUi; + private void OnDraw() { ImGui.PushID(this.namespaceName); OnBuildUi?.Invoke(); diff --git a/Dalamud/Plugin/Features/IHasConfigUi.cs b/Dalamud/Plugin/Features/IHasConfigUi.cs deleted file mode 100644 index 53e64ea98..000000000 --- a/Dalamud/Plugin/Features/IHasConfigUi.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using Dalamud.Interface; - -namespace Dalamud.Plugin.Features -{ - /// - /// This interface represents a Dalamud plugin that has a configuration UI which can be triggered. - /// - public interface IHasConfigUi : IHasUi - { - /// - /// An event handler that is fired when the plugin should show its configuration interface. - /// - EventHandler OpenConfigUi { get; } - } -} diff --git a/Dalamud/Plugin/Features/IHasUi.cs b/Dalamud/Plugin/Features/IHasUi.cs deleted file mode 100644 index afdb74df8..000000000 --- a/Dalamud/Plugin/Features/IHasUi.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Dalamud.Interface; - -namespace Dalamud.Plugin.Features -{ - /// - /// This interface represents a Dalamud plugin that has user interface which can be drawn. - /// - public interface IHasUi : IDalamudPlugin - { - /// - /// A function that gets called when Dalamud is ready to draw your UI. - /// - /// An object you can use to e.g. load images. - void Draw(UiBuilder uiBuilder); - } -} diff --git a/Dalamud/Plugin/PluginInstallerWindow.cs b/Dalamud/Plugin/PluginInstallerWindow.cs index 6497c299b..467f62880 100644 --- a/Dalamud/Plugin/PluginInstallerWindow.cs +++ b/Dalamud/Plugin/PluginInstallerWindow.cs @@ -10,7 +10,6 @@ using System.Net.Http; using System.Numerics; using System.Text; using System.Threading.Tasks; -using Dalamud.Plugin.Features; using ImGuiNET; using Newtonsoft.Json; using Serilog; @@ -224,10 +223,10 @@ namespace Dalamud.Plugin this.errorModalOnNextFrame = true; } - if (installedPlugin.Plugin is IHasConfigUi v2Plugin && v2Plugin.OpenConfigUi != null) { + if (installedPlugin.PluginInterface.UiBuilder.OnOpenConfigUi != null) { ImGui.SameLine(); - if (ImGui.Button("Open Configuration")) v2Plugin.OpenConfigUi?.Invoke(null, null); + if (ImGui.Button("Open Configuration")) installedPlugin.PluginInterface.UiBuilder.OnOpenConfigUi?.Invoke(null, null); } ImGui.SameLine(); diff --git a/Dalamud/Plugin/PluginManager.cs b/Dalamud/Plugin/PluginManager.cs index 828f91c96..70c4ebff1 100644 --- a/Dalamud/Plugin/PluginManager.cs +++ b/Dalamud/Plugin/PluginManager.cs @@ -3,12 +3,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection; -using System.Text; -using System.Threading.Tasks; using Dalamud.Configuration; -using Dalamud.Interface; -using Dalamud.Plugin.Features; -using ImGuiNET; using Newtonsoft.Json; using Serilog; @@ -31,18 +26,6 @@ namespace Dalamud.Plugin this.devPluginDirectory = devPluginDirectory; this.pluginConfigs = new PluginConfigurations(Path.Combine(Path.GetDirectoryName(dalamud.StartInfo.ConfigurationPath), "pluginConfigs")); - - this.dalamud.InterfaceManager.OnDraw += InterfaceManagerOnOnDraw; - } - - private void InterfaceManagerOnOnDraw() { - foreach (var plugin in this.Plugins) { - if (plugin.Plugin is IHasUi uiPlugin) { - ImGui.PushID(plugin.Definition.InternalName); - uiPlugin.Draw(plugin.PluginInterface.UiBuilder); - ImGui.PopID(); - } - } } public void UnloadPlugins() {