public static Byte[] Write(SCENARIO_CHIPFRAMEINFO input) { var buffer = new Byte[4 + MathUtil.RoundUp(input.SubChipCount, 8)]; BinaryIO.WriteIntoBuffer(buffer, 0, input.Speed, Endian.LittleEndian); buffer[2] = input.Reserve; buffer[3] = input.SubChipCount; for (var i = 0; i != input.SubChipCount; ++i) { buffer[4 + i] = input.SubChipIndex[i]; } return(buffer); }
public static SCENARIO_CHIPFRAMEINFO Read(FileReader reader) { var obj = new SCENARIO_CHIPFRAMEINFO(); obj.Speed = reader.ReadUInt16(); obj.Reserve = reader.ReadByte(); obj.SubChipCount = reader.ReadByte(); obj.SubChipIndex = reader.ReadBytes(obj.SubChipCount); var remander = obj.SubChipCount % 8; if (remander != 0) { reader.Position += (8 - remander); } return(obj); }