public void RemoveWalls(int totalSquares, List <int> next) { int nextID = -1; for (int i = 1; i < next.Count; i++) { GridSquare temp = grid.AllSquares[i]; nextID = next[i]; temp.nextSquareID = nextID; grid.AllSquares[nextID].VisitorIds.Add(temp.GetID()); } for (int i = 1; i < totalSquares; i++) { if (grid.AllSquares[i].Position.z < grid.AllSquares[grid.AllSquares[i].nextSquareID].Position.z) { grid.AllSquares[i].walls[0].SetActive(false); grid.AllSquares[grid.AllSquares[i].nextSquareID].walls[2].SetActive(false); } else if (grid.AllSquares[i].Position.z > grid.AllSquares[grid.AllSquares[i].nextSquareID].Position.z) { grid.AllSquares[i].walls[2].SetActive(false); grid.AllSquares[grid.AllSquares[i].nextSquareID].walls[0].SetActive(false); } else if (grid.AllSquares[i].Position.x < grid.AllSquares[grid.AllSquares[i].nextSquareID].Position.x) { grid.AllSquares[i].walls[1].SetActive(false); grid.AllSquares[grid.AllSquares[i].nextSquareID].walls[3].SetActive(false); } else if (grid.AllSquares[i].Position.x > grid.AllSquares[grid.AllSquares[i].nextSquareID].Position.x) { grid.AllSquares[i].walls[3].SetActive(false); grid.AllSquares[grid.AllSquares[i].nextSquareID].walls[1].SetActive(false); } } SpawnRooms(totalSquares); grid.transform.localScale *= gridSize; SpawnPlayer(); }
public void RemoveWallsPlaceDoors(int totalSquares, List <int> next) { int nextID = -1; for (int i = 1; i < next.Count; i++) { GridSquare temp = grid.AllSquares[i]; nextID = next[i]; temp.nextSquareID = nextID; grid.AllSquares[nextID].VisitorIds.Add(temp.GetID()); } for (int i = 1; i < totalSquares; i++) { if (grid.AllSquares[i].quadrant != grid.AllSquares[grid.AllSquares[i].nextSquareID].quadrant) { grid.AllSquares[i].PlaceDoor(grid.AllSquares[grid.AllSquares[i].nextSquareID]); if ((grid.AllSquares[i].quadrant == Quadrant.FirstQuadrant && grid.AllSquares[grid.AllSquares[i].nextSquareID].quadrant == Quadrant.SecondQuadrant) || (grid.AllSquares[i].quadrant == Quadrant.SecondQuadrant && grid.AllSquares[grid.AllSquares[i].nextSquareID].quadrant == Quadrant.FirstQuadrant)) { Quad12DoorSquares.Add(grid.AllSquares[i]); } else if ((grid.AllSquares[i].quadrant == Quadrant.FirstQuadrant && grid.AllSquares[grid.AllSquares[i].nextSquareID].quadrant == Quadrant.ThirdQuadrant) || (grid.AllSquares[i].quadrant == Quadrant.ThirdQuadrant && grid.AllSquares[grid.AllSquares[i].nextSquareID].quadrant == Quadrant.FirstQuadrant)) { Quad13DoorSquares.Add(grid.AllSquares[i]); } else if ((grid.AllSquares[i].quadrant == Quadrant.SecondQuadrant && grid.AllSquares[grid.AllSquares[i].nextSquareID].quadrant == Quadrant.FourthQuadrant) || (grid.AllSquares[i].quadrant == Quadrant.FourthQuadrant && grid.AllSquares[grid.AllSquares[i].nextSquareID].quadrant == Quadrant.SecondQuadrant)) { Quad24DoorSquares.Add(grid.AllSquares[i]); } else if ((grid.AllSquares[i].quadrant == Quadrant.ThirdQuadrant && grid.AllSquares[grid.AllSquares[i].nextSquareID].quadrant == Quadrant.FourthQuadrant) || (grid.AllSquares[i].quadrant == Quadrant.FourthQuadrant && grid.AllSquares[grid.AllSquares[i].nextSquareID].quadrant == Quadrant.ThirdQuadrant)) { Quad34DoorSquares.Add(grid.AllSquares[i]); } } if (grid.AllSquares[i].Position.z < grid.AllSquares[grid.AllSquares[i].nextSquareID].Position.z) { grid.AllSquares[i].CheckRemoveWall(0, gridHeight, gridWidth); grid.AllSquares[grid.AllSquares[i].nextSquareID].CheckRemoveWall(2, gridHeight, gridWidth); } else if (grid.AllSquares[i].Position.z > grid.AllSquares[grid.AllSquares[i].nextSquareID].Position.z) { grid.AllSquares[i].CheckRemoveWall(2, gridHeight, gridWidth); grid.AllSquares[grid.AllSquares[i].nextSquareID].CheckRemoveWall(0, gridHeight, gridWidth); } else if (grid.AllSquares[i].Position.x < grid.AllSquares[grid.AllSquares[i].nextSquareID].Position.x) { grid.AllSquares[i].CheckRemoveWall(1, gridHeight, gridWidth); grid.AllSquares[grid.AllSquares[i].nextSquareID].CheckRemoveWall(3, gridHeight, gridWidth); } else if (grid.AllSquares[i].Position.x > grid.AllSquares[grid.AllSquares[i].nextSquareID].Position.x) { grid.AllSquares[i].CheckRemoveWall(3, gridHeight, gridWidth); grid.AllSquares[grid.AllSquares[i].nextSquareID].CheckRemoveWall(1, gridHeight, gridWidth); } } // SpawnRooms(totalSquares); grid.transform.localScale *= gridSize; SpawnPlayer(); }