Files
2026-01-21 14:24:25 +01:00

38 lines
1.3 KiB
C#

using Dalamud.Interface.Windowing;
using Dalamud.IoC;
using Dalamud.Plugin;
using Dalamud.Plugin.Services;
namespace Waypoints;
public sealed class Plugin : IDalamudPlugin
{
[PluginService] public static IDalamudPluginInterface PluginInterface { get; private set; } = null!;
[PluginService] public static IClientState ClientState { get; private set; } = null!;
[PluginService] public static IObjectTable ObjectTable { get; private set; } = null!;
public static Configuration Configuration { get; private set; } = null!;
public readonly WindowSystem WindowSystem = new("Waypoints");
public static WotsitIpc WotsitIpc { get; private set; } = null!;
public static MainWindow MainWindow { get; private set; } = null!;
public Plugin()
{
Configuration = PluginInterface.GetPluginConfig() as Configuration ?? new Configuration();
Configuration.Initialize(PluginInterface);
WotsitIpc = new();
MainWindow = new();
WindowSystem.AddWindow(MainWindow);
PluginInterface.UiBuilder.Draw += WindowSystem.Draw;
PluginInterface.UiBuilder.OpenMainUi += MainWindow.Toggle;
}
public void Dispose()
{
Configuration.Save();
WindowSystem.RemoveAllWindows();
WotsitIpc.Dispose();
}
}