From c65d3c993443b4176ce028ebe7dee2048a2b62c5 Mon Sep 17 00:00:00 2001 From: Loporrit <141286461+loporrit@users.noreply.github.com> Date: Wed, 25 Jun 2025 11:50:21 +0000 Subject: [PATCH] Clean up this service registration stuff before I go insane --- MareSynchronos/Plugin.cs | 99 ++++++++++++++++------------------- MareSynchronos/UI/DtrEntry.cs | 4 +- 2 files changed, 46 insertions(+), 57 deletions(-) diff --git a/MareSynchronos/Plugin.cs b/MareSynchronos/Plugin.cs index 434776a..c494be8 100644 --- a/MareSynchronos/Plugin.cs +++ b/MareSynchronos/Plugin.cs @@ -64,6 +64,29 @@ public sealed class Plugin : IDalamudPlugin collection.AddSingleton(); collection.AddSingleton(new Dalamud.Localization("MareSynchronos.Localization.", "", useEmbedded: true)); + // add dalamud services + collection.AddSingleton(_ => pluginInterface); + collection.AddSingleton(_ => pluginInterface.UiBuilder); + collection.AddSingleton(_ => commandManager); + collection.AddSingleton(_ => gameData); + collection.AddSingleton(_ => framework); + collection.AddSingleton(_ => objectTable); + collection.AddSingleton(_ => clientState); + collection.AddSingleton(_ => condition); + collection.AddSingleton(_ => chatGui); + collection.AddSingleton(_ => gameGui); + collection.AddSingleton(_ => dtrBar); + collection.AddSingleton(_ => toastGui); + collection.AddSingleton(_ => pluginLog); + collection.AddSingleton(_ => targetManager); + collection.AddSingleton(_ => notificationManager); + collection.AddSingleton(_ => textureProvider); + collection.AddSingleton(_ => contextMenu); + collection.AddSingleton(_ => gameInteropProvider); + collection.AddSingleton(_ => namePlateGui); + collection.AddSingleton(_ => gameConfig); + collection.AddSingleton(_ => partyList); + // add mare related singletons collection.AddSingleton(); collection.AddSingleton(); @@ -88,42 +111,22 @@ public sealed class Plugin : IDalamudPlugin collection.AddSingleton(); collection.AddSingleton(); collection.AddSingleton(); - collection.AddSingleton((s) => new IpcProvider(s.GetRequiredService>(), - pluginInterface, - s.GetRequiredService(), s.GetRequiredService(), - s.GetRequiredService())); + collection.AddSingleton(); collection.AddSingleton(); - collection.AddSingleton((s) => new EventAggregator(s.GetRequiredService(), - s.GetRequiredService>(), s.GetRequiredService())); - collection.AddSingleton((s) => new DalamudUtilService(s.GetRequiredService>(), - clientState, objectTable, framework, gameGui, toastGui, condition, gameData, targetManager, - s.GetRequiredService(), s.GetRequiredService())); - collection.AddSingleton((s) => new DtrEntry(s.GetRequiredService>(), dtrBar, s.GetRequiredService(), - s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService())); - collection.AddSingleton(s => new PairManager(s.GetRequiredService>(), s.GetRequiredService(), - s.GetRequiredService(), s.GetRequiredService(), contextMenu)); + collection.AddSingleton(); + collection.AddSingleton(); + collection.AddSingleton(); + collection.AddSingleton(); collection.AddSingleton(); - collection.AddSingleton((s) => new IpcCallerPenumbra(s.GetRequiredService>(), pluginInterface, - s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService())); - collection.AddSingleton((s) => new IpcCallerGlamourer(s.GetRequiredService>(), pluginInterface, - s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService())); - collection.AddSingleton((s) => new IpcCallerCustomize(s.GetRequiredService>(), pluginInterface, - s.GetRequiredService(), s.GetRequiredService())); - collection.AddSingleton((s) => new IpcCallerHeels(s.GetRequiredService>(), pluginInterface, - s.GetRequiredService(), s.GetRequiredService())); - collection.AddSingleton((s) => new IpcCallerHonorific(s.GetRequiredService>(), pluginInterface, - s.GetRequiredService(), s.GetRequiredService())); - collection.AddSingleton((s) => new IpcCallerPetNames(s.GetRequiredService>(), pluginInterface, - s.GetRequiredService(), s.GetRequiredService())); - collection.AddSingleton((s) => new IpcCallerMoodles(s.GetRequiredService>(), pluginInterface, - s.GetRequiredService(), s.GetRequiredService())); - collection.AddSingleton((s) => new IpcManager(s.GetRequiredService>(), - s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService(), - s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService(), - s.GetRequiredService(), s.GetRequiredService())); - collection.AddSingleton((s) => new NotificationService(s.GetRequiredService>(), - s.GetRequiredService(), s.GetRequiredService(), - notificationManager, chatGui, s.GetRequiredService())); + collection.AddSingleton(); + collection.AddSingleton(); + collection.AddSingleton(); + collection.AddSingleton(); + collection.AddSingleton(); + collection.AddSingleton(); + collection.AddSingleton(); + collection.AddSingleton(); + collection.AddSingleton(); collection.AddSingleton((s) => new MareConfigService(pluginInterface.ConfigDirectory.FullName)); collection.AddSingleton((s) => new ServerConfigService(pluginInterface.ConfigDirectory.FullName)); @@ -134,7 +137,7 @@ public sealed class Plugin : IDalamudPlugin collection.AddSingleton((s) => new XivDataStorageService(pluginInterface.ConfigDirectory.FullName)); collection.AddSingleton((s) => new PlayerPerformanceConfigService(pluginInterface.ConfigDirectory.FullName)); collection.AddSingleton((s) => new ServerBlockConfigService(pluginInterface.ConfigDirectory.FullName)); - collection.AddSingleton((s) => new ConfigurationMigrator(s.GetRequiredService>(), s.GetRequiredService())); + collection.AddSingleton(); collection.AddSingleton(); // add scoped services @@ -148,10 +151,7 @@ public sealed class Plugin : IDalamudPlugin collection.AddScoped(); collection.AddScoped(); collection.AddScoped(); - - collection.AddScoped((s) => new EditProfileUi(s.GetRequiredService>(), - s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService(), - s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService())); + collection.AddScoped(); collection.AddScoped(); collection.AddScoped(); collection.AddScoped(); @@ -159,22 +159,11 @@ public sealed class Plugin : IDalamudPlugin collection.AddScoped(); collection.AddScoped(); collection.AddScoped(); - collection.AddScoped((s) => new UiService(s.GetRequiredService>(), pluginInterface.UiBuilder, s.GetRequiredService(), - s.GetRequiredService(), s.GetServices(), - s.GetRequiredService(), - s.GetRequiredService(), s.GetRequiredService())); - collection.AddScoped((s) => new CommandManagerService(commandManager, s.GetRequiredService(), - s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService(), - s.GetRequiredService(), s.GetRequiredService())); - collection.AddScoped((s) => new UiSharedService(s.GetRequiredService>(), s.GetRequiredService(), s.GetRequiredService(), - s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService(), - pluginInterface, textureProvider, s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService())); - collection.AddScoped((s) => new ChatService(s.GetRequiredService>(), s.GetRequiredService(), - s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService(), - s.GetRequiredService>(), gameInteropProvider, chatGui, - s.GetRequiredService(), s.GetRequiredService())); - collection.AddScoped((s) => new GuiHookService(s.GetRequiredService>(), s.GetRequiredService(), s.GetRequiredService(), - s.GetRequiredService(), namePlateGui, gameConfig, partyList, s.GetRequiredService())); + collection.AddScoped(); + collection.AddScoped(); + collection.AddScoped(); + collection.AddScoped(); + collection.AddScoped(); collection.AddHostedService(p => p.GetRequiredService()); collection.AddHostedService(p => p.GetRequiredService()); diff --git a/MareSynchronos/UI/DtrEntry.cs b/MareSynchronos/UI/DtrEntry.cs index 6339c6e..9fd02b1 100644 --- a/MareSynchronos/UI/DtrEntry.cs +++ b/MareSynchronos/UI/DtrEntry.cs @@ -33,7 +33,7 @@ public sealed class DtrEntry : IDisposable, IHostedService private readonly ApiController _apiController; private readonly CancellationTokenSource _cancellationTokenSource = new(); - private readonly ConfigurationServiceBase _configService; + private readonly MareConfigService _configService; private readonly IDtrBar _dtrBar; private readonly Lazy _entry; private readonly ILogger _logger; @@ -44,7 +44,7 @@ public sealed class DtrEntry : IDisposable, IHostedService private string? _tooltip; private Colors _colors; - public DtrEntry(ILogger logger, IDtrBar dtrBar, ConfigurationServiceBase configService, MareMediator mareMediator, PairManager pairManager, ApiController apiController) + public DtrEntry(ILogger logger, IDtrBar dtrBar, MareConfigService configService, MareMediator mareMediator, PairManager pairManager, ApiController apiController) { _logger = logger; _dtrBar = dtrBar;