PSO2SERVER/Server/Protocol/Handlers/0F-ItemHandler/0F-01-ItemPickupRequest.cs

38 lines
1.1 KiB
C#

using System;
using PSO2SERVER.Models;
using PSO2SERVER.Protocol.Packets;
namespace PSO2SERVER.Protocol.Handlers
{
[PacketHandlerAttr(0x0F, 0x01)]
public class ItemPickupRequest : PacketHandler
{
public struct ItemPickupRequestPacket
{
/// Item drop ID.
public uint DropId { get; set; }
/// Unknown field.
public uint Unk { get; set; }
// Constructor for convenience
public ItemPickupRequestPacket(uint dropId, uint unk)
{
DropId = dropId;
Unk = unk;
}
}
public override void HandlePacket(Client context, byte flags, byte[] data, uint position, uint size)
{
var info = string.Format("[<--] 接收到的数据 (hex): {0} 字节", data.Length);
Logger.WriteHex(info, data);
var reader = new PacketReader(data, position, size);
var pkt = reader.ReadStruct<ItemPickupRequestPacket>();
context.SendPacket(new ItemPickupResponsePacket(context._account.AccountId, pkt.DropId, 1, pkt.Unk));
}
}
}