Files
KianaBH3/GameServer/Server/Packet/Recv/Client/HandlerSetClientDataReq.cs
2025-06-14 11:15:32 +08:00

28 lines
1019 B
C#

using KianaBH.GameServer.Game.Player;
using KianaBH.GameServer.Server.Packet.Send.Client;
using KianaBH.Proto;
using KianaBH.Database.Client;
namespace KianaBH.GameServer.Server.Packet.Recv.Client;
[Opcode(CmdIds.SetClientDataReq)]
public class HandlerSetClientDataReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
var req = SetClientDataReq.Parser.ParseFrom(data);
PlayerInstance player = connection.Player!;
var clientData = player.ClientData!.Clients.FirstOrDefault(c => c.Id == req.ClientData.Id && c.Type == req.ClientData.Type);
if (clientData == null)
{
player.ClientData.Clients.Add(new ClientDBData
{
Id = req.ClientData.Id,
Type = req.ClientData.Type,
Data = req.ClientData.Data.ToByteArray(),
});
}
await connection.SendPacket(new PacketSetClientDataRsp(req.ClientData.Id,req.ClientData.Type));
}
}