// WingsEmu // // Developed by NosWings Team using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using PhoenixLib.Configuration; using PhoenixLib.ServiceBus.Extensions; using Plugin.FamilyImpl.Achievements; using Plugin.FamilyImpl.Consumers; using Plugin.FamilyImpl.Logs; using Plugin.FamilyImpl.Messages; using Plugin.FamilyImpl.RecurrentJob; using WingsEmu.Communication.gRPC.Extensions; using WingsEmu.Game.Families; using WingsEmu.Game.Families.Configuration; namespace Plugin.FamilyImpl { public static class FamiliesModuleExtensions { public static void AddFamilyModule(this IServiceCollection services) { services.AddGrpcFamilyServiceClient(); services.AddFileConfiguration(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.AddHostedService(); services.AddHostedService(); services.AddMessagePublisher(); services.AddMessageSubscriber(); services.AddSingleton(); services.AddMessagePublisher(); services.AddMessageSubscriber(); services.AddMessagePublisher(); services.AddMessageSubscriber(); services.AddMessageSubscriber(); services.AddMessageSubscriber(); services.AddMessageSubscriber(); services.AddMessageSubscriber(); services.AddMessageSubscriber(); services.AddMessageSubscriber(); services.AddMessageSubscriber(); services.AddMessageSubscriber(); services.AddMessageSubscriber(); services.AddMessageSubscriber(); services.AddMessageSubscriber(); services.AddMessageSubscriber(); services.AddMessageSubscriber(); services.AddMessagePublisher(); services.AddMessagePublisher(); services.AddMessagePublisher(); services.AddMessagePublisher(); services.AddMessagePublisher(); // achievements services.TryAddSingleton(); services.AddSingleton(s => s.GetRequiredService()); services.AddHostedService(s => s.GetRequiredService()); services.AddFileConfiguration(); services.AddMessagePublisher(); services.AddMessageSubscriber(); // missions services.AddSingleton(s => s.GetRequiredService()); services.AddFileConfiguration(); services.AddMessagePublisher(); } } }