mirror of
https://github.com/Ottermandias/Glamourer.git
synced 2026-01-03 14:23:43 +01:00
38 lines
1.6 KiB
C#
38 lines
1.6 KiB
C#
using Dalamud.Interface;
|
|
using Dalamud.Interface.Windowing;
|
|
using Glamourer.Gui.Tabs.UnlocksTab;
|
|
|
|
namespace Glamourer.Gui;
|
|
|
|
public class GlamourerWindowSystem : IDisposable
|
|
{
|
|
private readonly WindowSystem _windowSystem = new("Glamourer");
|
|
private readonly IUiBuilder _uiBuilder;
|
|
private readonly MainWindow _ui;
|
|
private readonly PenumbraChangedItemTooltip _penumbraTooltip;
|
|
|
|
public GlamourerWindowSystem(IUiBuilder uiBuilder, MainWindow ui, GenericPopupWindow popups, PenumbraChangedItemTooltip penumbraTooltip,
|
|
Configuration config, UnlocksTab unlocksTab, GlamourerChangelog changelog, DesignQuickBar quick)
|
|
{
|
|
_uiBuilder = uiBuilder;
|
|
_ui = ui;
|
|
_penumbraTooltip = penumbraTooltip;
|
|
_windowSystem.AddWindow(ui);
|
|
_windowSystem.AddWindow(popups);
|
|
_windowSystem.AddWindow(unlocksTab);
|
|
_windowSystem.AddWindow(changelog.Changelog);
|
|
_windowSystem.AddWindow(quick);
|
|
_uiBuilder.OpenMainUi += _ui.Toggle;
|
|
_uiBuilder.Draw += _windowSystem.Draw;
|
|
_uiBuilder.OpenConfigUi += _ui.OpenSettings;
|
|
_uiBuilder.DisableCutsceneUiHide = !config.HideWindowInCutscene;
|
|
_uiBuilder.DisableUserUiHide = config.ShowWindowWhenUiHidden;
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
_uiBuilder.OpenMainUi -= _ui.Toggle;
|
|
_uiBuilder.Draw -= _windowSystem.Draw;
|
|
_uiBuilder.OpenConfigUi -= _ui.OpenSettings;
|
|
}
|
|
}
|