示例#1
0
        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);
        }