Пример #1
0
        public static IEnumerable <TestCaseData> WrapIterativeDataProvider()
        {
            var size     = 8;
            var levels   = 2;
            var iterator = new Iterator3D(size);

            for (int level = 0; level < levels; level++)
            {
                foreach (var item in iterator)
                {
                    yield return(new TestCaseData(
                                     size,
                                     item.x + level * size,
                                     item.y + level * size,
                                     item.z + level * size,
                                     item.x,
                                     item.y,
                                     item.z
                                     ));

                    yield return(new TestCaseData(
                                     size,
                                     item.x - level * size,
                                     item.y - level * size,
                                     item.z - level * size,
                                     item.x,
                                     item.y,
                                     item.z
                                     ));
                }
            }
        }
Пример #2
0
        public static IEnumerable <TestCaseData> AnchorIterativeDataProvider()
        {
            var size     = 8;
            var levels   = 2;
            var iterator = new Iterator3D(size);

            for (int level = 0; level < levels; level++)
            {
                foreach (var item in iterator)
                {
                    yield return(new TestCaseData(
                                     size,
                                     level * size + item.x,
                                     level * size + item.y,
                                     level * size + item.z,
                                     level,
                                     level,
                                     level
                                     ));

                    yield return(new TestCaseData(
                                     size,
                                     -level * size + item.x,
                                     -level * size + item.y,
                                     -level * size + item.z,
                                     -level,
                                     -level,
                                     -level
                                     ));
                }
            }
        }
Пример #3
0
        public ChunkView(int length, int height, int depth)
        {
            Faces  = new bool[length, height, depth, Voxel.NumberOfFaces];
            Blocks = new bool[length, height, depth];

            var iterator = new Iterator3D(length, height, depth);

            foreach (var coord in iterator)
            {
                Blocks[coord.x, coord.y, coord.z] = false;
                for (int f = 0; f < Voxel.NumberOfFaces; f++)
                {
                    Faces[coord.x, coord.y, coord.z, f] = false;
                }
            }
            Count = 0;
        }