1
0
Fork 0
forked from aly/qstbak

muffin v7.5.1

This commit is contained in:
alydev 2026-05-01 08:59:48 +10:00
parent a6481e7b9a
commit 965a736f84
59 changed files with 4112 additions and 5059 deletions

View file

@ -74,31 +74,21 @@ internal sealed class PluginConfigComponent : ConfigComponent
public override void DrawTab()
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
TabItemDisposable val = ImRaii.TabItem((ImU8String)"Dependencies###Plugins");
try
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("Dependencies###Plugins");
if (!(!tabItemDisposable))
{
if (!(!val))
Draw(out var allRequiredInstalled);
ImGui.Spacing();
ImGui.Separator();
ImGui.Spacing();
if (allRequiredInstalled)
{
Draw(out var allRequiredInstalled);
ImGui.Spacing();
ImGui.Separator();
ImGui.Spacing();
if (allRequiredInstalled)
{
ImGui.TextColored(ImGuiColors.ParsedGreen, "All required plugins are installed.");
}
else
{
ImGui.TextColored(ImGuiColors.DalamudRed, "Required plugins are missing, Questionable will not work properly.");
}
ImGui.TextColored(ImGuiColors.ParsedGreen, "All required plugins are installed.");
}
else
{
ImGui.TextColored(ImGuiColors.DalamudRed, "Required plugins are missing, Questionable will not work properly.");
}
}
finally
{
((TabItemDisposable)(ref val)).Dispose();
}
}
@ -111,27 +101,20 @@ internal sealed class PluginConfigComponent : ConfigComponent
}
ImGui.Text("Questionable requires the following plugins to work:");
allRequiredInstalled = true;
IndentDisposable val = ImRaii.PushIndent(1, true);
try
using (ImRaii.PushIndent())
{
foreach (PluginInfo requiredPlugin in RequiredPlugins)
{
allRequiredInstalled &= DrawPlugin(requiredPlugin, checklistPadding);
}
}
finally
{
((IDisposable)val)?.Dispose();
}
ImGui.Spacing();
ImGui.Separator();
ImGui.Spacing();
ImGui.Text("Questionable supports multiple rotation/combat plugins, please pick the one\nyou want to use:");
val = ImRaii.PushIndent(1, true);
try
using (ImRaii.PushIndent())
{
DisabledDisposable val2 = ImRaii.Disabled(_combatController.IsRunning);
try
using (ImRaii.Disabled(_combatController.IsRunning))
{
if (ImGui.RadioButton("No rotation/combat plugin (combat must be done manually)", _configuration.General.CombatModule == Questionable.Configuration.ECombatModule.None))
{
@ -142,37 +125,23 @@ internal sealed class PluginConfigComponent : ConfigComponent
allRequiredInstalled &= DrawCombatPlugin(Questionable.Configuration.ECombatModule.RotationSolverReborn, checklistPadding);
allRequiredInstalled &= DrawCombatPlugin(Questionable.Configuration.ECombatModule.WrathCombo, checklistPadding);
}
finally
{
((IDisposable)val2)?.Dispose();
}
}
finally
{
((IDisposable)val)?.Dispose();
}
ImGui.Spacing();
ImGui.Separator();
ImGui.Spacing();
ImGui.Text("The following plugins are recommended, but not required:");
val = ImRaii.PushIndent(1, true);
try
using (ImRaii.PushIndent())
{
foreach (PluginInfo recommendedPlugin in _recommendedPlugins)
{
DrawPlugin(recommendedPlugin, checklistPadding);
}
}
finally
{
((IDisposable)val)?.Dispose();
}
}
private bool DrawPlugin(PluginInfo plugin, float checklistPadding)
{
IdDisposable val = ImRaii.PushId((ImU8String)("plugin_" + plugin.DisplayName), true);
try
using (ImRaii.PushId("plugin_" + plugin.DisplayName))
{
IExposedPlugin exposedPlugin = FindInstalledPlugin(plugin);
bool flag = exposedPlugin != null;
@ -185,18 +154,13 @@ internal sealed class PluginConfigComponent : ConfigComponent
DrawPluginDetails(plugin, checklistPadding, flag);
return flag;
}
finally
{
((IDisposable)val)?.Dispose();
}
}
private bool DrawCombatPlugin(Configuration.ECombatModule combatModule, float checklistPadding)
{
ImGui.Spacing();
PluginInfo pluginInfo = CombatPlugins[combatModule];
IdDisposable val = ImRaii.PushId((ImU8String)("plugin_" + pluginInfo.DisplayName), true);
try
using (ImRaii.PushId("plugin_" + pluginInfo.DisplayName))
{
IExposedPlugin exposedPlugin = FindInstalledPlugin(pluginInfo);
bool flag = exposedPlugin != null;
@ -221,16 +185,11 @@ internal sealed class PluginConfigComponent : ConfigComponent
DrawPluginDetails(pluginInfo, checklistPadding, flag);
return flag || _configuration.General.CombatModule != combatModule;
}
finally
{
((IDisposable)val)?.Dispose();
}
}
private void DrawPluginDetails(PluginInfo plugin, float checklistPadding, bool isInstalled)
{
IndentDisposable val = ImRaii.PushIndent(checklistPadding, true, true);
try
using (ImRaii.PushIndent(checklistPadding))
{
if (!string.IsNullOrEmpty(plugin.Details))
{
@ -246,15 +205,10 @@ internal sealed class PluginConfigComponent : ConfigComponent
_uiUtils.ChecklistItem(item.DisplayName, isInstalled && flag2);
if (!string.IsNullOrEmpty(item.Details))
{
IndentDisposable val2 = ImRaii.PushIndent(checklistPadding, true, true);
try
using (ImRaii.PushIndent(checklistPadding))
{
ImGui.TextUnformatted(item.Details);
}
finally
{
((IDisposable)val2)?.Dispose();
}
}
}
}
@ -285,10 +239,6 @@ internal sealed class PluginConfigComponent : ConfigComponent
ImGuiComponents.HelpMarker("Available on official Dalamud Repository");
}
}
finally
{
((IDisposable)val)?.Dispose();
}
}
private IExposedPlugin? FindInstalledPlugin(PluginInfo pluginInfo)