26 lines
819 B
C#
26 lines
819 B
C#
|
using NetCoreServer;
|
||
|
using Server.DB;
|
||
|
using Wonderking.Packets.Incoming;
|
||
|
using Wonderking.Packets.Outgoing;
|
||
|
|
||
|
namespace Server.PacketHandlers;
|
||
|
|
||
|
public class CharacterNameCheckHandler : IPacketHandler<CharacterNameCheckPacket>
|
||
|
{
|
||
|
private readonly WonderkingContext _wonderkingContext;
|
||
|
|
||
|
public CharacterNameCheckHandler(WonderkingContext wonderkingContext)
|
||
|
{
|
||
|
_wonderkingContext = wonderkingContext;
|
||
|
}
|
||
|
|
||
|
public Task HandleAsync(CharacterNameCheckPacket packet, TcpSession session)
|
||
|
{
|
||
|
var isTaken = _wonderkingContext.Characters.Any(c => c.Name == packet.Name);
|
||
|
var responsePacket = new CharacterNameCheckPacketResponse { IsTaken = isTaken };
|
||
|
var authSession = session as AuthSession;
|
||
|
authSession?.Send(responsePacket);
|
||
|
return Task.CompletedTask;
|
||
|
}
|
||
|
}
|