mirror of
https://github.com/MikuLeaks/KianaBH3.git
synced 2025-12-16 14:54:38 +01:00
Init enter game
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
using KianaBH.Database.Avatar;
|
||||
using KianaBH.GameServer.Game.Player;
|
||||
using KianaBH.GameServer.Server.Packet.Send.Avatar;
|
||||
using KianaBH.Proto;
|
||||
|
||||
namespace KianaBH.GameServer.Server.Packet.Recv.Avatar;
|
||||
|
||||
[Opcode(CmdIds.GetAvatarDataReq)]
|
||||
public class HandlerGetAvatarDataReq : Handler
|
||||
{
|
||||
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
|
||||
{
|
||||
var req = GetAvatarDataReq.Parser.ParseFrom(data);
|
||||
var player = connection.Player!;
|
||||
var avatars = req.AvatarIdList.Any(id => id != 0)
|
||||
? req.AvatarIdList
|
||||
.Select(id => player.AvatarManager!.GetAvatar(id))
|
||||
.Where(avatar => avatar != null)
|
||||
.ToList()!
|
||||
: player.AvatarManager?.AvatarData?.Avatars?.ToList();
|
||||
|
||||
bool isAll = !req.AvatarIdList.Any(id => id != 0);
|
||||
await connection.SendPacket(new PacketGetAvatarDataRsp(avatars!, isAll));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user