diff --git a/scenes/hranges/panel.gd b/scenes/hranges/panel.gd index d11369a2..94b1d4db 100644 --- a/scenes/hranges/panel.gd +++ b/scenes/hranges/panel.gd @@ -6,14 +6,14 @@ extends PanelContainer @export_range(0.0, 1.0) var gap_top: float = 0.05 ## Зазор сверху @export_range(0.0, 1.0) var gap_bottom: float = 0.05 ## Зазор снизу -@export var ranges_group_name: StringName = 'ranges' ## Имя группы для диапазонов -@export var ranges_save: Dictionary[StringName, Array] ## <имя диапазона>: [диапазон(x - начало, y - конец), цвет] @export_file var image_file: String: set(val): image_file = val if is_inside_tree(): _enter_tree() +var ranges_save: Dictionary[StringName, Array] ## <имя диапазона>: [диапазон(x - начало, y - конец), цвет] + func _enter_tree() -> void: if ResourceLoader.exists(image_file): @@ -55,7 +55,8 @@ func del_range(nm: StringName) -> bool: func _add_range_view(nm: StringName, x0: float, x1: float, col: Color): var rng = Polygon2D.new() - var canvas_size = $grid/canvas.size + var canvas = $grid/canvas + var canvas_size = canvas.size var point0 = canvas_size * Vector2(x0, gap_bottom) ## лево низ var point1 = canvas_size * Vector2(x0, 1.0 - gap_top) ## лево верх var point2 = canvas_size * Vector2(x1, 1.0 - gap_top) ## право верх @@ -63,21 +64,22 @@ func _add_range_view(nm: StringName, x0: float, x1: float, col: Color): rng.polygon = [point0, point1, point2, point3] rng.name = nm rng.color = col - $grid/canvas.add_child(rng) - rng.add_to_group(ranges_group_name) + canvas.add_child(rng) ## Удаляет заданный диапазон. func _del_range_view(nm: StringName) -> void: - var rng: = $grid/canvas.get_node(NodePath(nm)) - remove_child(rng) + var canvas: = $grid/canvas + var rng: = canvas.get_node(NodePath(nm)) + canvas.remove_child(rng) rng.queue_free() func _clear_ranges_view(): - var range_views = get_tree().get_nodes_in_group(ranges_group_name) + var canvas: = $grid/canvas + var range_views: = canvas.get_children() for rng in range_views: - $grid/canvas.remove_child(rng) + canvas.remove_child(rng) rng.queue_free()