public static CubeInfo[] ParseCubes(string cubeData, string colourData) { BinaryBufferReader cubes = new BinaryBufferReader(Convert.FromBase64String(cubeData), 0); BinaryBufferReader colours = new BinaryBufferReader(Convert.FromBase64String(colourData), 0); uint cubeCount = cubes.ReadUint(); uint colourCount = colours.ReadUint(); if (cubeCount != colourCount) { Logging.MetaLog("Something is f*****g broken"); return(null); } Logging.MetaLog($"Detected {cubeCount} cubes"); CubeInfo[] result = new CubeInfo[cubeCount]; for (int cube = 0; cube < cubeCount; cube++) { result[cube] = TranslateSpacialEnumerations( cubes.ReadUint(), cubes.ReadByte(), cubes.ReadByte(), cubes.ReadByte(), cubes.ReadByte(), colours.ReadByte(), colours.ReadByte(), colours.ReadByte(), colours.ReadByte() ); } return(result); }
public void ReadByte(byte input) { Reset(); _writer.Write(input); var val = _bufferReader.ReadByte(); Assert.Equal(input, val); }