Some more reworking.

This commit is contained in:
Ottermandias 2023-04-22 13:30:14 +02:00
parent e66d666d4d
commit a94c5ae7af
12 changed files with 245 additions and 137 deletions

View file

@ -9,7 +9,8 @@ using Penumbra.Api.Enums;
using Penumbra.Mods;
using Penumbra.UI.Classes;
using Penumbra.UI.Tabs;
using Penumbra.Util;
using Penumbra.Util;
namespace Penumbra.UI;
public sealed class ConfigWindow : Window
@ -18,8 +19,8 @@ public sealed class ConfigWindow : Window
private readonly Configuration _config;
private readonly PerformanceTracker _tracker;
private readonly ValidityChecker _validityChecker;
private readonly Penumbra _penumbra;
private readonly ConfigTabBar _configTabs;
private Penumbra? _penumbra;
private ConfigTabBar _configTabs = null!;
private string? _lastException;
public void SelectTab(TabType tab)
@ -31,15 +32,13 @@ public sealed class ConfigWindow : Window
public ConfigWindow(PerformanceTracker tracker, DalamudPluginInterface pi, Configuration config, ValidityChecker checker,
TutorialService tutorial, Penumbra penumbra, ConfigTabBar configTabs)
TutorialService tutorial)
: base(GetLabel(checker))
{
_pluginInterface = pi;
_config = config;
_tracker = tracker;
_validityChecker = checker;
_penumbra = penumbra;
_configTabs = configTabs;
RespectCloseHotkey = true;
SizeConstraints = new WindowSizeConstraints()
@ -51,6 +50,15 @@ public sealed class ConfigWindow : Window
IsOpen = _config.DebugMode;
}
public void Setup(Penumbra penumbra, ConfigTabBar configTabs)
{
_penumbra = penumbra;
_configTabs = configTabs;
}
public override bool DrawConditions()
=> _penumbra != null;
public override void PreDraw()
{
if (_config.FixMainWindow)
@ -61,7 +69,7 @@ public sealed class ConfigWindow : Window
public override void Draw()
{
using var timer = _tracker.Measure(PerformanceType.UiMainWindow);
using var timer = _tracker.Measure(PerformanceType.UiMainWindow);
UiHelpers.SetupCommonSizes();
try
{
@ -111,6 +119,7 @@ public sealed class ConfigWindow : Window
var text = e.ToString();
if (text == _lastException)
return;
_lastException = text;
}
else
@ -139,7 +148,7 @@ public sealed class ConfigWindow : Window
ImGui.NewLine();
UiHelpers.DrawDiscordButton(0);
ImGui.SameLine();
UiHelpers.DrawSupportButton(_penumbra);
UiHelpers.DrawSupportButton(_penumbra!);
ImGui.NewLine();
ImGui.NewLine();
}