server-master/srcs/_plugins/WingsEmu.Plugins.PacketHandling/GamePacketHandlersCorePlugin.cs
2026-02-10 18:21:30 +01:00

30 lines
No EOL
1 KiB
C#

using System;
using Microsoft.Extensions.DependencyInjection;
using PhoenixLib.Extensions;
using WingsAPI.Packets;
using WingsAPI.Packets.Handling;
using WingsAPI.Plugins;
using WingsEmu.Game._packetHandling;
using WingsEmu.Game.Battle;
using WingsEmu.Packets;
namespace WingsEmu.Plugins.PacketHandling;
public class GamePacketHandlersCorePlugin : IGameServerPlugin
{
public string Name => nameof(GamePacketHandlersCorePlugin);
public void AddDependencies(IServiceCollection services, GameServerLoader gameServer)
{
services.AddSingleton(typeof(IPacketHandlerContainer<>), typeof(GenericPacketHandlerContainer<>));
services.AddClientPacketsInAssembly<ClientPacket>();
Type[] types = typeof(GamePacketHandlersCorePlugin).Assembly.GetTypesImplementingGenericClass(typeof(GenericGamePacketHandlerBase<>));
services.AddGamePacketHandlersInAssembly(types);
services.AddTransient<ISkillExecutor, SkillExecutor>();
services.AddSingleton<ISkillUsageManager, SkillUsageManager>();
}
}