using Lidgren.Network; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using UnityEngine; namespace SRMultiplayer.Packets { [Packet(PacketType.GadgetTurrets)] public class PacketGadgetTurrets : Packet { public struct TurretData { public int Index; public Quaternion Rotation; } public string ID; public List Turrets { get; set; } public PacketGadgetTurrets() { } public PacketGadgetTurrets(NetIncomingMessage im) { Deserialize(im); } public override void Serialize(NetOutgoingMessage om) { base.Serialize(om); om.Write(Turrets.Count); foreach(var turret in Turrets) { om.Write(turret.Index); om.Write(turret.Rotation); } } public override void Deserialize(NetIncomingMessage im) { base.Deserialize(im); Turrets = new List(); int turretCount = im.ReadInt32(); for(int i = 0; i < turretCount; i++) { Turrets.Add(new TurretData() { Index = im.ReadInt32(), Rotation = im.ReadQuaternion() }); } } } }