extends Node2D var number_of_points: int = 15: set = set_number_of_points var displacement_range: float = 50.0: set = set_displacement_range @onready var pseudo_random_line: Line2D = $PseudoRandomLine @onready var generate_button: Button = %GenerateButton @onready var points_slider: HSlider = %PointsSlider @onready var points_number_value: Label = %PointsNumberValue @onready var range_slider: HSlider = %RangeSlider @onready var range_value: Label = %RangeValue ## OVERRIDES func _ready() -> void: generate_button.connect("pressed", on_generate_button_pressed) points_slider.connect("value_changed", on_points_slider_value_changed) range_slider.connect("value_changed", on_range_slider_value_changed) ## MAIN FUNCTIONALITY func draw_new_line(): print_debug("Drawing a new line") pseudo_random_line.draw_new_line(number_of_points, displacement_range) ## RECEIVERS func on_generate_button_pressed() -> void: draw_new_line() func on_points_slider_value_changed(new_value: float) -> void: number_of_points = int(new_value) func on_range_slider_value_changed(new_value: float) -> void: displacement_range = new_value ## SETTERS func set_number_of_points(number: int) -> void: number_of_points = number print_debug("Number of points changed to %s" % number) points_number_value.text = str(number_of_points) func set_displacement_range(new_range: float) -> void: displacement_range = new_range print_debug("Range changed to %s" % new_range) range_value.text = str(int(displacement_range))