public NetworkPackage(NetworkPackageType packageType = NetworkPackageType.Unknown) { PackageType = packageType; LeftStick = new Vector2(); RightStick = new Vector2(); Triggers = new Vector2(); AdditionalData = ""; }
// Reads a chunk of the data and return the offset of the data after this package has been read public int Read(byte[] data, int offset) { var memoryStream = new MemoryStream(data, offset, data.Length - offset); var binaryReader = new BinaryReader(memoryStream); PackageType = (NetworkPackageType)binaryReader.ReadInt32(); LeftStick.ReadFromStream(binaryReader); RightStick.ReadFromStream(binaryReader); Triggers.ReadFromStream(binaryReader); ButtonMask = binaryReader.ReadUInt32(); AdditionalData = binaryReader.ReadString(); var result = (int)memoryStream.Position + offset; binaryReader.Dispose(); memoryStream.Dispose(); return(result); }