public static DroneSettings Read(PacketBuffer packetBuffer) { int size = Marshal.SizeOf(typeof(DroneSettings)); byte[] buffer = new byte[size]; packetBuffer.Read(buffer, 0, buffer.Length); GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned); DroneSettings settings = (DroneSettings)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(DroneSettings)); handle.Free(); return(settings); }
public static DroneSettings Read(PacketBuffer packetBuffer) { int size = Marshal.SizeOf(typeof(DroneSettings)); byte[] buffer = new byte[size]; packetBuffer.Read(buffer, 0, buffer.Length); GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned); DroneSettings settings = (DroneSettings)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(DroneSettings)); handle.Free(); return settings; }