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); } }