93 lines
2.6 KiB
C#
93 lines
2.6 KiB
C#
using Dalamud.Game;
|
|
using Dalamud.Game.ClientState.Objects;
|
|
using Dalamud.IoC;
|
|
using Dalamud.Plugin;
|
|
using Dalamud.Plugin.Services;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
namespace CustomizePlus.Core.Services;
|
|
|
|
public class DalamudServices
|
|
{
|
|
[PluginService]
|
|
[RequiredVersion("1.0")]
|
|
public DalamudPluginInterface PluginInterface { get; private set; } = null!;
|
|
|
|
[PluginService]
|
|
[RequiredVersion("1.0")]
|
|
public ISigScanner SigScanner { get; private set; } = null!;
|
|
|
|
[PluginService]
|
|
public IFramework Framework { get; private set; } = null!;
|
|
|
|
[PluginService]
|
|
[RequiredVersion("1.0")]
|
|
public IObjectTable ObjectTable { get; private set; } = null!;
|
|
|
|
[PluginService]
|
|
[RequiredVersion("1.0")]
|
|
public ICommandManager CommandManager { get; private set; } = null!;
|
|
|
|
[PluginService]
|
|
[RequiredVersion("1.0")]
|
|
public IChatGui ChatGui { get; private set; } = null!;
|
|
|
|
[PluginService]
|
|
[RequiredVersion("1.0")]
|
|
public IClientState ClientState { get; private set; } = null!;
|
|
|
|
[PluginService]
|
|
[RequiredVersion("1.0")]
|
|
public IGameGui GameGui { get; private set; } = null!;
|
|
|
|
[PluginService]
|
|
[RequiredVersion("1.0")]
|
|
internal IGameInteropProvider Hooker { get; private set; } = null!;
|
|
|
|
[PluginService]
|
|
[RequiredVersion("1.0")]
|
|
public IKeyState KeyState { get; private set; } = null!;
|
|
|
|
//GameData
|
|
[PluginService]
|
|
[RequiredVersion("1.0")]
|
|
public IDataManager DataManager { get; private set; } = null!;
|
|
|
|
[PluginService]
|
|
[RequiredVersion("1.0")]
|
|
public IPluginLog PluginLog { get; private set; } = null!;
|
|
|
|
/*[PluginService]
|
|
[RequiredVersion("1.0")]
|
|
public ICondition Condition { get; private set; } = null!;*/
|
|
|
|
[PluginService]
|
|
[RequiredVersion("1.0")]
|
|
public ITargetManager TargetManager { get; private set; } = null!;
|
|
|
|
public DalamudServices(DalamudPluginInterface pluginInterface)
|
|
{
|
|
pluginInterface.Inject(this);
|
|
}
|
|
|
|
public void AddServices(IServiceCollection services)
|
|
{
|
|
services
|
|
.AddSingleton(PluginInterface)
|
|
.AddSingleton(SigScanner)
|
|
.AddSingleton(Framework)
|
|
.AddSingleton(ObjectTable)
|
|
.AddSingleton(CommandManager)
|
|
.AddSingleton(ChatGui)
|
|
.AddSingleton(ClientState)
|
|
.AddSingleton(GameGui)
|
|
.AddSingleton(Hooker)
|
|
.AddSingleton(KeyState)
|
|
.AddSingleton(this)
|
|
.AddSingleton(PluginInterface.UiBuilder)
|
|
.AddSingleton(DataManager)
|
|
.AddSingleton(PluginLog)
|
|
//.AddSingleton(Condition)
|
|
.AddSingleton(TargetManager);
|
|
}
|
|
} |