Esempio n. 1
0
        public void GridIsCorrectCoordinateReturnCorrectValue()
        {
            var grid    = new Grid(2, 3);
            var correct = new Vector2Int(1, 0);
            var wrong1  = new Vector2Int(-1, 0);
            var wrong2  = new Vector2Int(10, 0);
            var wrong3  = new Vector2Int(1, -1);
            var wrong4  = new Vector2Int(1, 10);
            var wrong5  = new Vector2Int(-1, -1);
            var wrong6  = new Vector2Int(10, 10);

            Assert.IsTrue(grid.IsCorrectCoordinate(correct));
            Assert.IsTrue(grid.IsCorrectCoordinate(correct.x, correct.y));

            Assert.IsFalse(grid.IsCorrectCoordinate(wrong1));
            Assert.IsFalse(grid.IsCorrectCoordinate(wrong1.x, wrong1.y));
            Assert.IsFalse(grid.IsCorrectCoordinate(wrong2));
            Assert.IsFalse(grid.IsCorrectCoordinate(wrong2.x, wrong2.y));
            Assert.IsFalse(grid.IsCorrectCoordinate(wrong3));
            Assert.IsFalse(grid.IsCorrectCoordinate(wrong3.x, wrong3.y));
            Assert.IsFalse(grid.IsCorrectCoordinate(wrong4));
            Assert.IsFalse(grid.IsCorrectCoordinate(wrong4.x, wrong4.y));
            Assert.IsFalse(grid.IsCorrectCoordinate(wrong5));
            Assert.IsFalse(grid.IsCorrectCoordinate(wrong5.x, wrong5.y));
            Assert.IsFalse(grid.IsCorrectCoordinate(wrong6));
            Assert.IsFalse(grid.IsCorrectCoordinate(wrong6.x, wrong6.y));
        }
Esempio n. 2
0
        public IEnumerator Init(Grid grid, LevelColorScheme levelColorScheme)
        {
            if (Grid != null)
            {
                Debug.Log("Level is already created!");
                yield break;
            }

            Grid = grid;

            TileHolders = new TileHolder[Grid.Size];

            var start = this.transform.position;
            var wait  = new WaitForSeconds(timeOnRowCreate);

            for (int i = 0; i < Grid.SizeX; i++)
            {
                for (int j = 0; j < Grid.SizeY; j++)
                {
                    TileHolders[Grid.CoordinateToIndex(i, j)] = Instantiate <TileHolder>(tilePrefab, transform);
                    TileHolders[Grid.CoordinateToIndex(i, j)].transform.position = new Vector3(i, 0, j) * spacing;
                    TileHolders[Grid.CoordinateToIndex(i, j)].Init(Grid[i, j], this, levelColorScheme);
                }

                yield return(wait);
            }
        }
Esempio n. 3
0
        public void GridTileHeightWithinRange()
        {
            var grid = new Grid(1, 2, 2, new [] { -1, 3 });

            Assert.GreaterOrEqual(grid[0].Height, 0);
            Assert.LessOrEqual(grid[1].Height, grid.MaxHeight);
        }
Esempio n. 4
0
        public void GridCorrectSize()
        {
            var grid = new Grid(3, 4);

            Assert.AreEqual(3, grid.SizeX);
            Assert.AreEqual(4, grid.SizeY);
        }
Esempio n. 5
0
        public void GridTileIsNotNullWithinCorrectRange()
        {
            var grid = new Grid(3, 4);

            Assert.NotNull(grid[2]);
            Assert.NotNull(grid[1, 2]);
        }
Esempio n. 6
0
        public void GridSizeGreaterThanZero()
        {
            var grid = new Grid(-1, -2);

            Assert.Greater(grid.SizeX, 0);
            Assert.Greater(grid.SizeY, 0);
        }
Esempio n. 7
0
        public void GridIsCorrectIndexReturnCorrectValue()
        {
            var grid = new Grid(2, 3);

            Assert.IsTrue(grid.IsCorrectIndex(3));
            Assert.IsFalse(grid.IsCorrectIndex(-2));
            Assert.IsFalse(grid.IsCorrectIndex(10));
        }
Esempio n. 8
0
        public void GridCoordinateToIndexReturnCorrectValue()
        {
            var grid = new Grid(2, 3);

            int index = grid.CoordinateToIndex(1, 0);

            Assert.AreEqual(3, index);
        }
Esempio n. 9
0
        public void GridIndexToCoordinateReturnCorrectValues()
        {
            var grid = new Grid(2, 3);

            (int x, int y) = grid.IndexToCoordinate(3);

            Assert.AreEqual(1, x);
            Assert.AreEqual(0, y);
        }
Esempio n. 10
0
        public void GridTileIsNullWithinWrongRange()
        {
            var grid = new Grid(3, 4);

            Assert.IsNull(grid[-1]);
            Assert.IsNull(grid[-2, -4]);
            Assert.IsNull(grid[15]);
            Assert.IsNull(grid[2, 7]);
        }
Esempio n. 11
0
        public float UpdateCorners()
        {
            var index00 = Grid.CoordinateToIndex(0, 0);
            var index01 = Grid.CoordinateToIndex(0, Grid.SizeY - 1);
            var index10 = Grid.CoordinateToIndex(Grid.SizeX - 1, 0);
            var index11 = Grid.CoordinateToIndex(Grid.SizeX - 1, Grid.SizeY - 1);

            corner00.position = TileHolders[index00].transform.position;
            corner01.position = TileHolders[index01].transform.position;
            corner10.position = TileHolders[index10].transform.position;
            corner11.position = TileHolders[index11].transform.position;
            return(Vector3.Distance(corner00.position, corner11.position));
        }
Esempio n. 12
0
        public void GridMaxHeightGreaterThanZero()
        {
            var grid = new Grid(1, 1, -1);

            Assert.Greater(grid.MaxHeight, 0);
        }