38 lines
1.3 KiB
C#
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();
|
|
}
|
|
}
|