38 lines
1.1 KiB
C#
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));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|