Доработка. WIP Шкала кластера. Убрано не нужное
This commit is contained in:
@@ -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_top: float = 0.05 ## Зазор сверху
|
||||||
@export_range(0.0, 1.0) var gap_bottom: 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:
|
@export_file var image_file: String:
|
||||||
set(val):
|
set(val):
|
||||||
image_file = val
|
image_file = val
|
||||||
if is_inside_tree():
|
if is_inside_tree():
|
||||||
_enter_tree()
|
_enter_tree()
|
||||||
|
|
||||||
|
var ranges_save: Dictionary[StringName, Array] ## <имя диапазона>: [диапазон(x - начало, y - конец), цвет]
|
||||||
|
|
||||||
|
|
||||||
func _enter_tree() -> void:
|
func _enter_tree() -> void:
|
||||||
if ResourceLoader.exists(image_file):
|
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):
|
func _add_range_view(nm: StringName, x0: float, x1: float, col: Color):
|
||||||
var rng = Polygon2D.new()
|
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 point0 = canvas_size * Vector2(x0, gap_bottom) ## лево низ
|
||||||
var point1 = canvas_size * Vector2(x0, 1.0 - gap_top) ## лево верх
|
var point1 = canvas_size * Vector2(x0, 1.0 - gap_top) ## лево верх
|
||||||
var point2 = canvas_size * Vector2(x1, 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.polygon = [point0, point1, point2, point3]
|
||||||
rng.name = nm
|
rng.name = nm
|
||||||
rng.color = col
|
rng.color = col
|
||||||
$grid/canvas.add_child(rng)
|
canvas.add_child(rng)
|
||||||
rng.add_to_group(ranges_group_name)
|
|
||||||
|
|
||||||
|
|
||||||
## Удаляет заданный диапазон.
|
## Удаляет заданный диапазон.
|
||||||
func _del_range_view(nm: StringName) -> void:
|
func _del_range_view(nm: StringName) -> void:
|
||||||
var rng: = $grid/canvas.get_node(NodePath(nm))
|
var canvas: = $grid/canvas
|
||||||
remove_child(rng)
|
var rng: = canvas.get_node(NodePath(nm))
|
||||||
|
canvas.remove_child(rng)
|
||||||
rng.queue_free()
|
rng.queue_free()
|
||||||
|
|
||||||
|
|
||||||
func _clear_ranges_view():
|
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:
|
for rng in range_views:
|
||||||
$grid/canvas.remove_child(rng)
|
canvas.remove_child(rng)
|
||||||
rng.queue_free()
|
rng.queue_free()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user