extends Object class_name PathGenerator var _grid_width : int var _grid_height : int func _init(width:int, height:int): _grid_width = width _grid_height = height func generate_path() -> Array[Vector2i]: var path : Array[Vector2i] var x : int = 0 var y : int = randi_range(1, _grid_height-2) while x < _grid_width: if not path.has(Vector2i(x,y)): path.append(Vector2i(x, y)) var choice : int = randi_range(0,2) # every even tile goes right to leave room for towers if choice == 0 || x % 2 == 0 || x == _grid_width - 1: x += 1 elif choice == 1 && y < _grid_height - 2 && !path.has(Vector2i(x, y + 1)): y += 1 elif choice == 2 && y > 1 && !path.has(Vector2i(x, y - 1)): y -= 1 return path