public void SerializeToStream(Stream zStream) { // Due to the struct format on the C side the data is written as 3 32-bit ints StreamUtil.WriteIntToStream(zStream, Flags); zStream.WriteByte(VirtualKey); zStream.WriteByte(0); zStream.WriteByte(0); zStream.WriteByte(0); StreamUtil.WriteIntToStream(zStream, Parameter); }
/// <summary> /// Saves the remap entries to a versioned file format /// </summary> /// <param name="listRemapEntries">The entries to persist</param> /// <param name="sFileName">The name of the file to save to</param> public void SaveFile(List <RemapEntry> listRemapEntries, string sFileName) { var zFileStream = new FileStream(sFileName, FileMode.Create, FileAccess.Write, FileShare.None); StreamUtil.WriteIntToStream(zFileStream, FILE_DATA_PREFIX); StreamUtil.WriteIntToStream(zFileStream, DATA_FORMAT_VERSION); listRemapEntries.ForEach(zEntry => { var arrayBytes = zEntry.SerializeToBytes(); zFileStream.Write(arrayBytes, 0, arrayBytes.Length); }); zFileStream.Close(); }