public override int ReadFrom(byte[] Buffer, int StartIndex = 0) { int cursor = StartIndex; cursor += base.ReadFrom(Buffer, cursor); TradePartner = new ObjectBase(true, Buffer, cursor); cursor += TradePartner.ByteLength; ushort len = BitConverter.ToUInt16(Buffer, cursor); cursor += TypeSizes.SHORT; OfferedItems = new TradeOfferObject[len]; for (int i = 0; i < len; i++) { OfferedItems[i] = new TradeOfferObject(Buffer, cursor); cursor += OfferedItems[i].ByteLength; } return cursor - StartIndex; }
public BuyListMessage(ObjectBase TradePartner, TradeOfferObject[] OfferedItems) : base(MessageTypeGameMode.BuyList) { this.TradePartner = TradePartner; this.OfferedItems = OfferedItems; }
public WithdrawAlListMessage(ObjectBase NPC, TradeOfferObject[] Items) : base(MessageTypeGameMode.WithDrawAlList) { this.NPC = NPC; this.Items = Items; }