feat: plugin info command

This commit is contained in:
goat 2020-02-12 01:20:35 +09:00
parent 24cb7f014e
commit bfbdaa5fc6
2 changed files with 16 additions and 10 deletions

View file

@ -169,8 +169,6 @@ namespace Dalamud {
private bool isImguiDrawLogWindow = false;
private bool isImguiDrawDataWindow = false;
private bool neverDrawWelcome = false;
private DalamudLogWindow logWindow;
private DalamudDataWindow dataWindow;
@ -204,12 +202,20 @@ namespace Dalamud {
{
Process.GetCurrentProcess().Kill();
}
ImGui.Separator();
ImGui.MenuItem(this.assemblyVersion, false);
ImGui.EndMenu();
}
if (ImGui.BeginMenu("Plugins"))
{
if (ImGui.MenuItem("Print plugin info")) {
foreach (var plugin in this.PluginManager.Plugins) {
// TODO: some more here, state maybe?
Log.Information($"{plugin.Name}");
}
}
if (ImGui.MenuItem("Reload plugins"))
{
OnPluginReloadCommand(string.Empty, string.Empty);
@ -217,7 +223,7 @@ namespace Dalamud {
ImGui.EndMenu();
}
//ImGui.EndMainMenuBar();
ImGui.EndMainMenuBar();
}
}

View file

@ -14,7 +14,7 @@ namespace Dalamud.Plugin
private readonly string pluginDirectory;
private readonly string defaultPluginDirectory;
private List<IDalamudPlugin> plugins;
public List<IDalamudPlugin> Plugins;
public PluginManager(Dalamud dalamud, string pluginDirectory, string defaultPluginDirectory) {
this.dalamud = dalamud;
@ -23,12 +23,12 @@ namespace Dalamud.Plugin
}
public void UnloadPlugins() {
if (this.plugins == null)
if (this.Plugins == null)
return;
for (var i = 0; i < this.plugins.Count; i++) {
this.plugins[i].Dispose();
this.plugins[i] = null;
for (var i = 0; i < this.Plugins.Count; i++) {
this.Plugins[i].Dispose();
this.Plugins[i] = null;
}
}
@ -71,7 +71,7 @@ namespace Dalamud.Plugin
}
}
this.plugins = new List<IDalamudPlugin>(foundImplementations.Count);
this.Plugins = new List<IDalamudPlugin>(foundImplementations.Count);
foreach (var pluginType in foundImplementations)
{
var plugin = (IDalamudPlugin)Activator.CreateInstance(pluginType);
@ -80,7 +80,7 @@ namespace Dalamud.Plugin
plugin.Initialize(dalamudInterface);
Log.Information("Loaded plugin: {0}", plugin.Name);
this.plugins.Add(plugin);
this.Plugins.Add(plugin);
}
}
}