internal PBEItemTurnPacket(byte[] data, EndianBinaryReader r, PBEBattle battle) { Data = new ReadOnlyCollection <byte>(data); ItemUserTrainer = battle.Trainers[r.ReadByte()]; ItemUser = r.ReadEnum <PBEFieldPosition>(); Item = r.ReadEnum <PBEItem>(); ItemAction = r.ReadEnum <PBEItemTurnAction>(); }
internal PBEItemTurnPacket(PBEBattlePokemon itemUserHolder, PBEItem item, PBEItemTurnAction itemAction) { using (var ms = new MemoryStream()) using (var w = new EndianBinaryWriter(ms, encoding: EncodingType.UTF16)) { w.Write(Code); w.Write((ItemUserTrainer = itemUserHolder.Trainer).Id); w.Write(ItemUser = itemUserHolder.FieldPosition); w.Write(Item = item); w.Write(ItemAction = itemAction); Data = new ReadOnlyCollection <byte>(ms.ToArray()); } }