Files
GlamourBrowser/GlamourBrowser/PluginUi.cs

46 lines
1.5 KiB
C#

using Dalamud.Interface.Textures.TextureWraps;
using GlamourBrowser.Ui;
using System;
namespace GlamourBrowser {
internal class PluginUi : IDisposable {
internal Plugin Plugin { get; }
private MainInterface MainInterface { get; }
internal PluginUi(Plugin plugin) {
this.Plugin = plugin;
this.MainInterface = new MainInterface(this);
Service.Interface.UiBuilder.Draw += this.Draw;
Service.Interface.UiBuilder.OpenConfigUi += this.OpenMainInterface;
Service.Interface.UiBuilder.OpenMainUi += this.OpenMainInterface;
}
public void Dispose() {
Service.Interface.UiBuilder.OpenMainUi -= this.OpenMainInterface;
Service.Interface.UiBuilder.OpenConfigUi -= this.OpenMainInterface;
Service.Interface.UiBuilder.Draw -= this.Draw;
}
internal void OpenMainInterface() {
this.MainInterface.Open();
}
internal void ToggleMainInterface() {
this.MainInterface.Toggle();
}
internal IDalamudTextureWrap? GetIcon(ushort id) {
var icon = Service.TextureProvider.GetFromGameIcon(new Dalamud.Interface.Textures.GameIconLookup(id)).GetWrapOrDefault();
return icon;
}
private void Draw() {
this.MainInterface.Draw();
}
internal void SwitchPlate(Guid plateId, bool scrollTo = false) =>
this.MainInterface.SwitchPlate(plateId, scrollTo);
}
}