PSO2SERVER/Server/Protocol/Packets/0B-QuestPacket/0B-13-MinimapRevealPacket.cs

47 lines
1.4 KiB
C#

using PSO2SERVER.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PSO2SERVER.Protocol.Packets
{
public class MinimapRevealPacket : Packet
{
/// World object where revealing was done.
private ObjectHeader world { get; set; }
/// Receivers party object (?).
private ObjectHeader party { get; set; }
private uint zone_id { get; set; }
/// Bitset of revealed regions.
private RevealedRegions revealed_zones { get; set; } = new RevealedRegions();
// 构造函数,允许在创建时初始化字段
public MinimapRevealPacket(ObjectHeader world, ObjectHeader party, uint zone_id, byte[] revealed_zones)
{
this.world = world;
this.party = party;
this.zone_id = zone_id;
this.revealed_zones = new RevealedRegions(revealed_zones);
}
#region implemented abstract members of Packet
public override byte[] Build()
{
var pkt = new PacketWriter();
pkt.WriteStruct(world);
pkt.WriteStruct(party);
pkt.Write(zone_id);
revealed_zones.Write(pkt);
return pkt.ToArray();
}
public override PacketHeader GetHeader()
{
return new PacketHeader(0x0B, 0x13, PacketFlags.None);
}
#endregion
}
}