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() {