mirror of
https://github.com/sebastian-heinz/Arrowgene.DragonsDogmaOnline
synced 2026-08-03 11:12:41 -04:00
36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
using Arrowgene.Ddon.Shared.Network;
|
|
|
|
namespace Arrowgene.Ddon.Server.Network
|
|
{
|
|
public interface IPacketIdResolver
|
|
{
|
|
PacketId Get(byte groupId, ushort handlerId, byte handlerSubId);
|
|
ServerType ServerType { get; }
|
|
}
|
|
|
|
public static class PacketIdResolver
|
|
{
|
|
public static readonly LoginPacketIdResolver LoginPacketIdResolver = new LoginPacketIdResolver();
|
|
public static readonly GamePacketIdResolver GamePacketIdResolver = new GamePacketIdResolver();
|
|
}
|
|
|
|
public class LoginPacketIdResolver : IPacketIdResolver
|
|
{
|
|
public PacketId Get(byte groupId, ushort handlerId, byte handlerSubId)
|
|
{
|
|
return PacketId.GetLoginPacketId(groupId, handlerId, handlerSubId);
|
|
}
|
|
|
|
public ServerType ServerType => ServerType.Login;
|
|
}
|
|
|
|
public class GamePacketIdResolver : IPacketIdResolver
|
|
{
|
|
public PacketId Get(byte groupId, ushort handlerId, byte handlerSubId)
|
|
{
|
|
return PacketId.GetGamePacketId(groupId, handlerId, handlerSubId);
|
|
}
|
|
|
|
public ServerType ServerType => ServerType.Game;
|
|
}
|
|
}
|