public static void GeneratePath(Level.Tunnel tunnel, Level level) { var targetCells = new List <VoronoiCell>(); for (int i = 0; i < tunnel.Nodes.Count; i++) { var closestCell = level.GetClosestCell(tunnel.Nodes[i].ToVector2()); if (closestCell != null && !targetCells.Contains(closestCell)) { targetCells.Add(closestCell); } } tunnel.Cells.AddRange(GeneratePath(targetCells, level.GetAllCells())); }