using System;
using Dalamud.IoC;
using Dalamud.Plugin;
using Dalamud.Plugin.Services;

namespace WorldMapFixer;

public class DalamudApi
{
	[PluginService]
	public static IChatGui ChatGui { get; private set; }

	[PluginService]
	public static IClientState ClientState { get; private set; }

	[PluginService]
	public static ICommandManager CommandManager { get; private set; }

	[PluginService]
	public static IDalamudPluginInterface PluginInterface { get; private set; }

	[PluginService]
	public static IDataManager DataManager { get; private set; }

	[PluginService]
	public static IDtrBar DtrBar { get; private set; }

	[PluginService]
	public static IFramework Framework { get; private set; }

	[PluginService]
	public static IGameGui GameGui { get; private set; }

	[PluginService]
	public static IKeyState KeyState { get; private set; }

	[PluginService]
	public static ISigScanner SigScanner { get; private set; }

	[PluginService]
	public static IGameInteropProvider Hooks { get; private set; }

	[PluginService]
	public static IPluginLog PluginLog { get; private set; }

	[PluginService]
	public static IAddonLifecycle AddonLifecycle { get; private set; }

	public static void Initialize(IDalamudPluginInterface pluginInterface)
	{
		pluginInterface.Create<DalamudApi>(Array.Empty<object>());
	}
}
