From 07b41211c73cf70099c1e44f4b34a022743ea126 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Fri, 20 Mar 2026 16:22:15 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20WIP=20=D0=9E=D1=82=D0=BE=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BB=D0=B0=D1=81=D1=82?= =?UTF-8?q?=D0=B5=D1=80=D0=BE=D0=B2=20=D0=BD=D0=B0=20=D1=88=D0=BA=D0=B0?= =?UTF-8?q?=D0=BB=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/hranges/panel.gd | 9 +++++++++ scenes/hranges/panel.tscn | 2 ++ scenes/эмс-тг/эмс-тг.gd | 32 +++++++++++++++++++++-------- scenes/эмс-тг/эмс-тг.tscn | 42 +++++++++++++++++++++++++++++++-------- 4 files changed, 69 insertions(+), 16 deletions(-) diff --git a/scenes/hranges/panel.gd b/scenes/hranges/panel.gd index 94b1d4db..96cfa819 100644 --- a/scenes/hranges/panel.gd +++ b/scenes/hranges/panel.gd @@ -12,12 +12,21 @@ extends PanelContainer if is_inside_tree(): _enter_tree() + +@export var back_color: Color: + set(val): + back_color = val + if is_inside_tree(): + _enter_tree() + + var ranges_save: Dictionary[StringName, Array] ## <имя диапазона>: [диапазон(x - начало, y - конец), цвет] func _enter_tree() -> void: if ResourceLoader.exists(image_file): $grid/image.texture = load(image_file) + $grid/canvas.self_modulate = back_color ## Добавляет новый диапазон. diff --git a/scenes/hranges/panel.tscn b/scenes/hranges/panel.tscn index 9e7dc443..c766aec6 100644 --- a/scenes/hranges/panel.tscn +++ b/scenes/hranges/panel.tscn @@ -16,6 +16,7 @@ offset_right = 400.0 offset_bottom = 45.0 theme_override_styles/panel = SubResource("StyleBoxEmpty_ajqhv") script = ExtResource("1_pg3d7") +back_color = Color(0.601223, 0.601223, 0.601223, 1) [node name="grid" type="GridContainer" parent="."] layout_mode = 2 @@ -29,6 +30,7 @@ texture = ExtResource("2_ajqhv") expand_mode = 3 [node name="canvas" type="PanelContainer" parent="grid"] +self_modulate = Color(0.601223, 0.601223, 0.601223, 1) layout_mode = 2 size_flags_horizontal = 3 theme_override_styles/panel = SubResource("StyleBoxFlat_56wj8") diff --git a/scenes/эмс-тг/эмс-тг.gd b/scenes/эмс-тг/эмс-тг.gd index 8243b830..bf88752d 100644 --- a/scenes/эмс-тг/эмс-тг.gd +++ b/scenes/эмс-тг/эмс-тг.gd @@ -14,6 +14,10 @@ extends Panel @export var color_tx: Color ## Цвет диапазона приёмника на шкале @export var color_rx: Color +## Цвет нечётных строк шкалы +@export_color_no_alpha var color_odd: Color +## Цвет чётных строк шкалы +@export_color_no_alpha var color_even: Color #endregion #region Загружаемые ресурсы @@ -66,6 +70,14 @@ func _ready() -> void: for cell_scn in table_cells: table_cell_row.append(load(cell_scn)) + # Расскраска чётные-нечётные + for node in get_tree().get_nodes_in_group('нечётные'): + node.get_node('panel_rx').back_color = color_odd + node.get_node('panel_tx').back_color = color_odd + for node in get_tree().get_nodes_in_group('чётные'): + node.get_node('panel_rx').back_color = color_even + node.get_node('panel_tx').back_color = color_even + # Настрить таблицу var ctable: = $'таблица/сетка' ctable.set_header(header_row) @@ -122,13 +134,17 @@ func map_yems_data_to_scale(nm: StringName): var claster_scale: = name_to_scale[nm] as GridContainer # Обойти все кластеры устройства for cls in unit_data.mcls: - var c = remap(cls.cfb, freq_min, freq_max, 0.0, 1.0) - var w = remap(cls.wfb, freq_min, freq_max, 0.0, 1.0) * 0.5 - var l = c - w - var h = c + w - if cls.rxe: - var scale_rx: = claster_scale.get_node('panel_rx') + var c: = remap(cls.cfb, freq_min, freq_max, 0.0, 1.0) + var w: = remap(cls.wfb, freq_min, freq_max, 0.0, 0.5) + var l: = clampf(c - w, 0.0, 1.0) + var h: = clampf(c + w, 0.0, 1.0) + var scale_rx: = claster_scale.get_node('panel_rx') + var scale_tx: = claster_scale.get_node('panel_tx') + if cls.get('rxe', false): scale_rx.set_range(cls.cname, l, h, color_rx) - if cls.txe: - var scale_tx: = claster_scale.get_node('panel_tx') + else: + scale_rx.del_range(cls.cname) + if cls.get('txe', false): scale_tx.set_range(cls.cname, l, h, color_tx) + else: + scale_tx.del_range(cls.cname) diff --git a/scenes/эмс-тг/эмс-тг.tscn b/scenes/эмс-тг/эмс-тг.tscn index 8dab9c07..4c055f76 100644 --- a/scenes/эмс-тг/эмс-тг.tscn +++ b/scenes/эмс-тг/эмс-тг.tscn @@ -44,6 +44,8 @@ freq_min = 300.0 freq_max = 6000.0 color_tx = Color(0.898367, 0.460547, 0.239949, 1) color_rx = Color(0.498039, 0.498039, 1, 1) +color_odd = Color(0.31863, 0.32773, 0.327729, 1) +color_even = Color(0.258824, 0.266667, 0.266667, 1) matrix_conf = Array[Texture]([ExtResource("2_s28jr"), ExtResource("3_its7t")]) table_headers = Array[String](["uid://ch14g46swx74h", "uid://ch14g46swx74h", "uid://ch14g46swx74h", "uid://ch14g46swx74h", "uid://ch14g46swx74h", "uid://ch14g46swx74h", "uid://cymcld4mjmlhj", "uid://cymcld4mjmlhj"]) table_cells = Array[String](["uid://dwphmxstaxn4v", "uid://dwphmxstaxn4v", "uid://dwphmxstaxn4v", "uid://dwphmxstaxn4v", "uid://dwphmxstaxn4v", "uid://dwphmxstaxn4v", "uid://cixwl6xi22buo", "uid://cixwl6xi22buo"]) @@ -100,7 +102,8 @@ button_group = SubResource("ButtonGroup_vwsbs") text = "ОР-63" metadata/unit_name = &"эмс-ор63" -[node name="sub0" type="GridContainer" parent="шкала" groups=["шкалы-кластеров"]] +[node name="sub0" type="GridContainer" parent="шкала" groups=["чётные", "шкалы-кластеров"]] +self_modulate = Color(0.258824, 0.266667, 0.266667, 1) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -112,6 +115,7 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c73tjrn8gr00o" +back_color = Color(0.258824, 0.266667, 0.266667, 1) [node name="panel_tx" parent="шкала/sub0" instance=ExtResource("5_6hay3")] self_modulate = Color(0.830335, 0.830335, 0.830335, 1) @@ -119,6 +123,7 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c6etralq2tvxg" +back_color = Color(0.258824, 0.266667, 0.266667, 1) [node name="label1" type="Button" parent="шкала" groups=["кнопки-шкалы"]] layout_mode = 2 @@ -129,7 +134,8 @@ button_group = SubResource("ButtonGroup_vwsbs") text = "454" metadata/unit_name = &"эмс-454" -[node name="sub1" type="GridContainer" parent="шкала" groups=["шкалы-кластеров"]] +[node name="sub1" type="GridContainer" parent="шкала" groups=["нечётные", "шкалы-кластеров"]] +self_modulate = Color(0.294118, 0.294118, 0.294118, 1) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -140,12 +146,14 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c73tjrn8gr00o" +back_color = Color(0.31863, 0.32773, 0.327729, 1) [node name="panel_tx" parent="шкала/sub1" instance=ExtResource("5_6hay3")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c6etralq2tvxg" +back_color = Color(0.31863, 0.32773, 0.327729, 1) [node name="label2" type="Button" parent="шкала" groups=["кнопки-шкалы"]] layout_mode = 2 @@ -156,7 +164,8 @@ button_group = SubResource("ButtonGroup_vwsbs") text = "ГО" metadata/unit_name = &"эмс-го" -[node name="sub2" type="GridContainer" parent="шкала" groups=["шкалы-кластеров"]] +[node name="sub2" type="GridContainer" parent="шкала" groups=["чётные", "шкалы-кластеров"]] +self_modulate = Color(0.258824, 0.266667, 0.266667, 1) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -168,6 +177,7 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c73tjrn8gr00o" +back_color = Color(0.258824, 0.266667, 0.266667, 1) [node name="panel_tx" parent="шкала/sub2" instance=ExtResource("5_6hay3")] self_modulate = Color(0.830335, 0.830335, 0.830335, 1) @@ -175,6 +185,7 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c6etralq2tvxg" +back_color = Color(0.258824, 0.266667, 0.266667, 1) [node name="label3" type="Button" parent="шкала" groups=["кнопки-шкалы"]] layout_mode = 2 @@ -185,7 +196,8 @@ button_group = SubResource("ButtonGroup_vwsbs") text = "РЛС1" metadata/unit_name = &"эмс-рлс1" -[node name="sub3" type="GridContainer" parent="шкала" groups=["шкалы-кластеров"]] +[node name="sub3" type="GridContainer" parent="шкала" groups=["нечётные", "шкалы-кластеров"]] +self_modulate = Color(0.294118, 0.294118, 0.294118, 1) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -196,12 +208,14 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c73tjrn8gr00o" +back_color = Color(0.31863, 0.32773, 0.327729, 1) [node name="panel_tx" parent="шкала/sub3" instance=ExtResource("5_6hay3")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c6etralq2tvxg" +back_color = Color(0.31863, 0.32773, 0.327729, 1) [node name="label4" type="Button" parent="шкала" groups=["кнопки-шкалы"]] layout_mode = 2 @@ -212,7 +226,8 @@ button_group = SubResource("ButtonGroup_vwsbs") text = "РЛС2" metadata/unit_name = &"эмс-рлс2" -[node name="sub4" type="GridContainer" parent="шкала" groups=["шкалы-кластеров"]] +[node name="sub4" type="GridContainer" parent="шкала" groups=["чётные", "шкалы-кластеров"]] +self_modulate = Color(0.258824, 0.266667, 0.266667, 1) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -224,6 +239,7 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c73tjrn8gr00o" +back_color = Color(0.258824, 0.266667, 0.266667, 1) [node name="panel_tx" parent="шкала/sub4" instance=ExtResource("5_6hay3")] self_modulate = Color(0.830335, 0.830335, 0.830335, 1) @@ -231,6 +247,7 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c6etralq2tvxg" +back_color = Color(0.258824, 0.266667, 0.266667, 1) [node name="label5" type="Button" parent="шкала" groups=["кнопки-шкалы"]] layout_mode = 2 @@ -241,7 +258,8 @@ button_group = SubResource("ButtonGroup_vwsbs") text = "ННВС" metadata/unit_name = &"эмс-ннвс" -[node name="sub5" type="GridContainer" parent="шкала" groups=["шкалы-кластеров"]] +[node name="sub5" type="GridContainer" parent="шкала" groups=["нечётные", "шкалы-кластеров"]] +self_modulate = Color(0.294118, 0.294118, 0.294118, 1) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -252,12 +270,14 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c73tjrn8gr00o" +back_color = Color(0.31863, 0.32773, 0.327729, 1) [node name="panel_tx" parent="шкала/sub5" instance=ExtResource("5_6hay3")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c6etralq2tvxg" +back_color = Color(0.31863, 0.32773, 0.327729, 1) [node name="label6" type="Button" parent="шкала" groups=["кнопки-шкалы"]] layout_mode = 2 @@ -268,7 +288,8 @@ button_group = SubResource("ButtonGroup_vwsbs") text = "Изделие 7" metadata/unit_name = &"изделие7" -[node name="sub6" type="GridContainer" parent="шкала" groups=["шкалы-кластеров"]] +[node name="sub6" type="GridContainer" parent="шкала" groups=["чётные", "шкалы-кластеров"]] +self_modulate = Color(0.258824, 0.266667, 0.266667, 1) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -280,6 +301,7 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c73tjrn8gr00o" +back_color = Color(0.258824, 0.266667, 0.266667, 1) [node name="panel_tx" parent="шкала/sub6" instance=ExtResource("5_6hay3")] self_modulate = Color(0.830335, 0.830335, 0.830335, 1) @@ -287,6 +309,7 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c6etralq2tvxg" +back_color = Color(0.258824, 0.266667, 0.266667, 1) [node name="label7" type="Button" parent="шкала" groups=["кнопки-шкалы"]] layout_mode = 2 @@ -297,7 +320,8 @@ button_group = SubResource("ButtonGroup_vwsbs") text = "Изделие 8" metadata/unit_name = &"эмс-изделие8" -[node name="sub7" type="GridContainer" parent="шкала" groups=["шкалы-кластеров"]] +[node name="sub7" type="GridContainer" parent="шкала" groups=["нечётные", "шкалы-кластеров"]] +self_modulate = Color(0.294118, 0.294118, 0.294118, 1) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -308,12 +332,14 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c73tjrn8gr00o" +back_color = Color(0.31863, 0.32773, 0.327729, 1) [node name="panel_tx" parent="шкала/sub7" instance=ExtResource("5_6hay3")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 image_file = "uid://c6etralq2tvxg" +back_color = Color(0.31863, 0.32773, 0.327729, 1) [node name="фон-матрицы" type="Polygon2D" parent="."] self_modulate = Color(0.498039, 0.498039, 0.498039, 0.498039)