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