mirror of
https://github.com/Ottermandias/Glamourer.git
synced 2025-12-15 05:04:16 +01:00
.
This commit is contained in:
parent
7710cfadfa
commit
2d6fd6015d
88 changed files with 2304 additions and 383 deletions
80
GlamourerOld/Services/ServiceManager.cs
Normal file
80
GlamourerOld/Services/ServiceManager.cs
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
using Dalamud.Plugin;
|
||||
using Glamourer.Api;
|
||||
using Glamourer.Designs;
|
||||
using Glamourer.Gui;
|
||||
using Glamourer.Interop;
|
||||
using Glamourer.State;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Log;
|
||||
|
||||
namespace Glamourer.Services;
|
||||
|
||||
public static class ServiceManager
|
||||
{
|
||||
public static ServiceProvider CreateProvider(DalamudPluginInterface pi, Logger log)
|
||||
{
|
||||
var services = new ServiceCollection()
|
||||
.AddSingleton(log)
|
||||
.AddDalamud(pi)
|
||||
.AddMeta()
|
||||
.AddConfig()
|
||||
.AddPenumbra()
|
||||
.AddInterop()
|
||||
.AddGameData()
|
||||
.AddDesigns()
|
||||
.AddInterface()
|
||||
.AddApi();
|
||||
|
||||
return services.BuildServiceProvider(new ServiceProviderOptions { ValidateOnBuild = true });
|
||||
}
|
||||
|
||||
private static IServiceCollection AddDalamud(this IServiceCollection services, DalamudPluginInterface pi)
|
||||
{
|
||||
new DalamudServices(pi).AddServices(services);
|
||||
return services;
|
||||
}
|
||||
|
||||
private static IServiceCollection AddMeta(this IServiceCollection services)
|
||||
=> services.AddSingleton<FilenameService>()
|
||||
.AddSingleton<SaveService>()
|
||||
.AddSingleton<FrameworkManager>()
|
||||
.AddSingleton<ChatService>();
|
||||
|
||||
private static IServiceCollection AddConfig(this IServiceCollection services)
|
||||
=> services.AddSingleton<Configuration>()
|
||||
.AddSingleton<BackupService>();
|
||||
|
||||
private static IServiceCollection AddPenumbra(this IServiceCollection services)
|
||||
=> services.AddSingleton<PenumbraAttach>();
|
||||
|
||||
private static IServiceCollection AddGameData(this IServiceCollection services)
|
||||
=> services.AddSingleton<IdentifierService>()
|
||||
.AddSingleton<ActorService>()
|
||||
.AddSingleton<ItemService>()
|
||||
.AddSingleton<ItemManager>()
|
||||
.AddSingleton<CustomizationService>();
|
||||
|
||||
private static IServiceCollection AddInterop(this IServiceCollection services)
|
||||
=> services.AddSingleton<ChangeCustomizeService>()
|
||||
.AddSingleton<JobService>()
|
||||
.AddSingleton<UpdateSlotService>()
|
||||
.AddSingleton<VisorService>()
|
||||
.AddSingleton<WeaponService>()
|
||||
.AddSingleton<ObjectManager>();
|
||||
|
||||
private static IServiceCollection AddDesigns(this IServiceCollection services)
|
||||
=> services.AddSingleton<DesignManager>()
|
||||
.AddSingleton<DesignFileSystem>()
|
||||
.AddSingleton<ActiveDesign.Manager>()
|
||||
.AddSingleton<FixedDesignManager>()
|
||||
.AddSingleton<RedrawManager>();
|
||||
|
||||
private static IServiceCollection AddInterface(this IServiceCollection services)
|
||||
=> services.AddSingleton<Interface>()
|
||||
.AddSingleton<GlamourerWindowSystem>();
|
||||
|
||||
private static IServiceCollection AddApi(this IServiceCollection services)
|
||||
=> services.AddSingleton<CommandService>()
|
||||
.AddSingleton<Glamourer.GlamourerIpc>();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue