extends Object class_name PathGenerator var _grid_width : int var _grid_height : int var _path : Array[Vector2i] func _init(width:int, height:int): _grid_width = width _grid_height = height func generate_path(): _path.clear() 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