using Microsoft.Extensions.DependencyInjection; using PhoenixLib.Events; using PhoenixLib.ServiceBus.Extensions; using WingsEmu.Game._packetHandling; namespace Plugin.PlayerLogs.Core { public static class LogDependencyInjectionExtensions { public static void AddPlayerLog(this IServiceCollection services) where TMessage : IPlayerActionLogMessage, new() where TEvent : PlayerEvent where TEnricher : class, ILogMessageEnricher { services.AddSingleton, GenericPlayerGameEventToLogProcessor>(); services.AddSingleton, GenericPlayerEventLogMessageFactory>(); services.AddSingleton, TEnricher>(); services.AddMessagePublisher(); } } }