46 lines
1.5 KiB
C#
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);
|
|
}
|
|
} |