Corridor createCorridorsInBetween(Room room1, Room room2, DungeonNode endNode = null, DungeonNode startNode = null, int roomNumber = 1) { List <FloorCell> corridorCells = PathFinding.Astar(room1.getCentricFloorCell(), room2.getCentricFloorCell(), dungeonCells, endNode); List <FloorCell> filteredCorridorCells = new List <FloorCell>(); foreach (FloorCell cell in corridorCells) { if (cell.type != FloorCell.FloorCellType.ROOM_CELL) { cell.type = FloorCell.FloorCellType.CORRIDOR_CELL; filteredCorridorCells.Add(cell); } } // Create the corridor object Corridor corridor = new Corridor(); corridor.originRoom = room1; corridor.destRoom = room2; corridor.setCorridorCells(filteredCorridorCells); room1.exitCorridors.Add(corridor); room2.exitCorridors.Add(corridor); return(corridor); //Debug.Log("Pasillos de la sala 1 " + room1.exitCorridors.Count + " pasillos de la sala 2 " + room2.exitCorridors.Count); }
void Start() { // path = PathFinding.BreadthWise(start, end); path = PathFinding.Astar(start, end); current = 0; }