2023-10-13 09:38:52 +00:00
|
|
|
|
using System;
|
|
|
|
|
using Dalamud.Plugin;
|
|
|
|
|
using KamiLib.Blacklist;
|
|
|
|
|
using KamiLib.Caching;
|
|
|
|
|
using KamiLib.ChatCommands;
|
|
|
|
|
using KamiLib.GameState;
|
|
|
|
|
using KamiLib.Localization;
|
|
|
|
|
using KamiLib.Teleporter;
|
|
|
|
|
using KamiLib.UserInterface;
|
|
|
|
|
using KamiLib.Windows;
|
|
|
|
|
|
|
|
|
|
namespace KamiLib;
|
|
|
|
|
|
|
|
|
|
public static class KamiCommon
|
|
|
|
|
{
|
|
|
|
|
public static string PluginName { get; private set; } = string.Empty;
|
|
|
|
|
public static CommandManager CommandManager { get; private set; } = null!;
|
|
|
|
|
public static WindowManager WindowManager { get; private set; } = null!;
|
|
|
|
|
|
|
|
|
|
private static Action _saveConfigFunction = null!;
|
|
|
|
|
|
2024-07-09 21:01:17 +00:00
|
|
|
|
public static void Initialize(IDalamudPluginInterface pluginInterface, string pluginName, Action saveConfig)
|
2023-10-13 09:38:52 +00:00
|
|
|
|
{
|
|
|
|
|
pluginInterface.Create<Service>();
|
|
|
|
|
|
|
|
|
|
PluginName = pluginName;
|
|
|
|
|
_saveConfigFunction = saveConfig;
|
|
|
|
|
|
|
|
|
|
LocalizationManager.Instance.Initialize();
|
|
|
|
|
|
|
|
|
|
BlacklistDraw.PrimeSearch();
|
|
|
|
|
|
|
|
|
|
CommandManager = new CommandManager();
|
|
|
|
|
WindowManager = new WindowManager();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void Dispose()
|
|
|
|
|
{
|
|
|
|
|
CommandManager.Dispose();
|
|
|
|
|
WindowManager.Dispose();
|
|
|
|
|
IconCache.Cleanup();
|
|
|
|
|
GameUserInterface.Cleanup();
|
|
|
|
|
DutyState.Cleanup();
|
|
|
|
|
ChatPayloadManager.Cleanup();
|
|
|
|
|
TeleportManager.Cleanup();
|
|
|
|
|
LocalizationManager.Cleanup();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void SaveConfiguration() => _saveConfigFunction();
|
2024-07-09 21:01:17 +00:00
|
|
|
|
}
|