mirror of
https://github.com/Ottermandias/Glamourer.git
synced 2026-02-26 06:21:49 +01:00
37 lines
1.4 KiB
C#
37 lines
1.4 KiB
C#
using Dalamud.Interface;
|
|
using Dalamud.Interface.Windowing;
|
|
using Glamourer.Config;
|
|
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;
|
|
|
|
public GlamourerWindowSystem(IUiBuilder uiBuilder, MainWindow ui, GenericPopupWindow popups,
|
|
Configuration config, UnlocksTab unlocksTab, GlamourerChangelog changelog, DesignQuickBar quick)
|
|
{
|
|
_uiBuilder = uiBuilder;
|
|
_ui = ui;
|
|
_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;
|
|
}
|
|
}
|