From c405b578abe6d16ac2e0c099cdcbc2556b269ee7 Mon Sep 17 00:00:00 2001 From: TotMaxim Date: Sun, 30 Nov 2025 17:08:52 +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=20=D0=A3=D0=9A=D0=9F=20=D0=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.gd | 30 ++++++++++++------------------ main.tscn | 10 +++++----- 2 files changed, 17 insertions(+), 23 deletions(-) diff --git a/main.gd b/main.gd index d281094..587f721 100644 --- a/main.gd +++ b/main.gd @@ -356,7 +356,7 @@ func _on_ukp_submitted(_new_text: String, device: String) -> void: var prep_temperature_ukp2_array: Array = _on_text_temperature_changed(device, 2) var prep_power_ukp1_array: Array = _on_text_power_changed(device, 1) - var prep_power_ukp2_array: Array = _on_text_power_changed(device, 2) + var prep_power_ukp2_array: Array = _on_text_power_changed(device, 2) var combine_data_ukp1: Array = _combine_arrays(prep_temperature_ukp1_array, prep_power_ukp1_array) var combine_data_ukp2: Array = _combine_arrays(prep_temperature_ukp2_array, prep_power_ukp2_array) @@ -374,17 +374,16 @@ func _on_text_power_changed(device: String, number_device: int) -> Array: func _process_ukp_data(device: String, number_device: int, group_name: String, converter: Callable) -> Array: var prd_module_arr = get_tree().get_nodes_in_group('prd') - var current_change: Array = _get_ukp_nodes_for_device(device, prd_module_arr, group_name) + var current_change_nodes: Array = _get_ukp_nodes_for_device(device, prd_module_arr, group_name) var result_arr: Array = [0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff] - var config: Dictionary = _get_ukp_config(device, number_device) + var config: Dictionary = _get_ukp_config(number_device) - for i in range(config.start_index, config.end_index): - if i < current_change.size() and not current_change[i].text.is_empty(): - var value = _safe_convert_to_int(current_change[i].text) - var offset: int = config.offset if i == config.end_index-1 else 0 - var result_index = i - config.start_index + offset - if result_index < result_arr.size(): - result_arr[result_index] = converter.call(value) + for change_node in current_change_nodes: + var place = change_node.get_meta('place') + if change_node.get_meta('place') in config.meta_range: + if number_device == 2: place -= 8 + var value = _safe_convert_to_int(change_node.text) + result_arr[place] = converter.call(value) return result_arr @@ -399,19 +398,14 @@ static func _get_ukp_nodes_for_device(device: String, prd_module_arr: Array, gro return [] -static func _get_ukp_config(device: String, number_device: int) -> Dictionary: - var is_k_device = device in ['ПРД-К1', 'ПРД-К2', 'ПРД-К3', 'ПРД-К4'] +static func _get_ukp_config(number_device: int) -> Dictionary: if number_device == 1: return { - "start_index": 0, - "end_index": 7 if is_k_device else 6, - "offset": 1 if is_k_device else 0 + "meta_range": [0, 1, 2, 3 ,4, 5, 6, 7] } else: return { - "start_index": 7 if is_k_device else 6, - "end_index": 13 if is_k_device else 12, - "offset": 0 + "meta_range": [8, 9, 10, 11, 12, 13, 14, 15] } diff --git a/main.tscn b/main.tscn index e8cb5c7..7b6751c 100644 --- a/main.tscn +++ b/main.tscn @@ -29,7 +29,7 @@ bg_color = Color(0.635294, 0.203922, 0.337255, 1) [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1bvp3"] bg_color = Color(0.323337, 0.235865, 0.51797, 1) -[node name="s" type="Control"] +[node name="Control" type="Control"] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 @@ -1251,7 +1251,7 @@ layout_mode = 0 offset_left = 170.0 offset_right = 1296.0 offset_bottom = 751.0 -current_tab = 3 +current_tab = 1 tabs_position = 1 tab_focus_mode = 0 @@ -1348,7 +1348,6 @@ metadata/place = 5 metadata/device = "ПРД-К1" [node name="ukp_2" type="GridContainer" parent="TabContainer/ПРД-К1/TabBar"] -visible = false layout_mode = 2 columns = 7 metadata/_tab_index = 1 @@ -1455,7 +1454,7 @@ horizontal_alignment = 1 [node name="TextEdit" type="LineEdit" parent="TabContainer/ПРД-К1/TabBar/ukp_1_lit_1" groups=["temperature_ukp"]] custom_minimum_size = Vector2(100, 35) layout_mode = 2 -metadata/place = 0 +metadata/place = 7 metadata/device = "ПРД-К1" [node name="Label2" type="Label" parent="TabContainer/ПРД-К1/TabBar/ukp_1_lit_1"] @@ -1468,10 +1467,11 @@ horizontal_alignment = 1 [node name="TextEdit7" type="LineEdit" parent="TabContainer/ПРД-К1/TabBar/ukp_1_lit_1" groups=["power_ukp"]] custom_minimum_size = Vector2(100, 35) layout_mode = 2 -metadata/place = 0 +metadata/place = 7 metadata/device = "ПРД-К1" [node name="ug" type="GridContainer" parent="TabContainer/ПРД-К1/TabBar"] +visible = false layout_mode = 2 columns = 6 metadata/_tab_index = 3