From 1fdbfdcede40a8e1c68b1a6ff4bac3db9ab59e99 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Tue, 27 May 2025 11:18:07 +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=20=D0=BF=D1=80=D0=B8=D0=B1=D0=BE=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=90=D0=A4=D0=A1=D0=9F=20=D0=B8=20=D0=A0=D0=A2?= =?UTF-8?q?=D0=A0=20=D0=BE=D0=B4=D0=B8=D0=BD=20=D0=BE=D0=B1=D1=89=D0=B8?= =?UTF-8?q?=D0=B9=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B8=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B7=D1=83=D0=BB=D1=8C=D1=82=D0=B0=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-afsp/bort-afsp.tscn | 3 ++- scenes/pribor-afsp/pribor-afsp-1.tscn | 1 + scenes/pribor-afsp/pribor-afsp-2.tscn | 1 + scenes/pribor-afsp/pribor-afsp.gd | 23 +++++++++++++---------- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/scenes/pribor-afsp/bort-afsp.tscn b/scenes/pribor-afsp/bort-afsp.tscn index 501c6ef..7150a58 100644 --- a/scenes/pribor-afsp/bort-afsp.tscn +++ b/scenes/pribor-afsp/bort-afsp.tscn @@ -13,12 +13,13 @@ signal pressed(control: PanelContainer) func _on_item_pressed(control): emit_signal('pressed', control) " -[node name="bort_rtr" type="Control"] +[node name="bort_afsp" type="Control"] layout_mode = 3 anchors_preset = 0 offset_right = 580.0 offset_bottom = 1185.0 script = SubResource("GDScript_y4aoq") +metadata/DeviceName = &"" [node name="konverter" type="NinePatchRect" parent="."] layout_mode = 0 diff --git a/scenes/pribor-afsp/pribor-afsp-1.tscn b/scenes/pribor-afsp/pribor-afsp-1.tscn index b9e3da6..907863f 100644 --- a/scenes/pribor-afsp/pribor-afsp-1.tscn +++ b/scenes/pribor-afsp/pribor-afsp-1.tscn @@ -19,6 +19,7 @@ offset_right = 70.0 offset_bottom = 30.0 scale = Vector2(1, 0.9) script = ExtResource("1_151rh") +metadata/DeviceName = &"Устройство РР левого борта" [node name="request" type="HTTPRequest" parent="."] script = ExtResource("2_4vyhj") diff --git a/scenes/pribor-afsp/pribor-afsp-2.tscn b/scenes/pribor-afsp/pribor-afsp-2.tscn index a13639b..6e0c434 100644 --- a/scenes/pribor-afsp/pribor-afsp-2.tscn +++ b/scenes/pribor-afsp/pribor-afsp-2.tscn @@ -19,6 +19,7 @@ offset_right = 81.0 offset_bottom = 108.0 scale = Vector2(1, 0.9) script = ExtResource("1_tfses") +metadata/DeviceName = &"Устройство РР правого борта" [node name="request" type="HTTPRequest" parent="."] script = ExtResource("2_miwrd") diff --git a/scenes/pribor-afsp/pribor-afsp.gd b/scenes/pribor-afsp/pribor-afsp.gd index f7c5757..ca717ba 100644 --- a/scenes/pribor-afsp/pribor-afsp.gd +++ b/scenes/pribor-afsp/pribor-afsp.gd @@ -1,6 +1,6 @@ class_name pribor_afsp extends 'res://scenes/контроль/прибор.gd' -@export var prefix_path: String = '' +@export var prefix_path: String = 'DeviceDescripton[DeviceName]' static var json_conv: JSON = JSON.new() @@ -49,9 +49,8 @@ func _on_request_rtr_request_completed(result, _response_code, headers, body: Pa push_error('разбор json прерван - \"%s\" (%s)' % [err, headers]) return - var pp = ['DeviceDescripton', 'DeviceName'] - var ppp = [] - map_solid_to_array(prefix_path, ppp) + var pp = [] + map_solid_to_array(prefix_path, pp) var ret_val = [null, false, 0] var pp_copy = pp.duplicate(true) tools.get_value_by_path(json_conv.data, pp, ret_val) @@ -59,22 +58,26 @@ func _on_request_rtr_request_completed(result, _response_code, headers, body: Pa push_error('путь %s не найден (%s)' % [pp_copy, ret_val[2]]) return - var bort_rtr_name: StringName = get_meta('DeviceName', '') - var bort_rtr = self - for child in bort_rtr.get_node('konverter/grid').get_children(): + var this_afsp_name: StringName = $bort.get_meta('DeviceName', '') + var received_afsp_name: StringName = ret_val[0] + + if this_afsp_name != received_afsp_name: + return + + for child in $bort.get_node('konverter/grid').get_children(): map_value_to_item(json_conv.data, child, 'value0') map_value_to_item(json_conv.data, child, 'value1') map_value_to_item(json_conv.data, child, 'value2') map_error_codes_to_item(json_conv.data, child, 'state', 0) - for child in bort_rtr.get_node('antenna1/grid').get_children(): + for child in $bort.get_node('antenna1/grid').get_children(): map_value_to_item(json_conv.data, child, 'value0') map_value_to_item(json_conv.data, child, 'value1') map_error_codes_to_item(json_conv.data, child, 'state', 0) - for child in bort_rtr.get_node('antenna2/grid').get_children(): + for child in $bort.get_node('antenna2/grid').get_children(): map_value_to_item(json_conv.data, child, 'value0') map_value_to_item(json_conv.data, child, 'value1') map_error_codes_to_item(json_conv.data, child, 'state', 0) - for child in bort_rtr.get_children(): + for child in $bort.get_children(): map_value_to_item(json_conv.data, child, 'value0') map_value_to_item(json_conv.data, child, 'value1') map_error_codes_to_item(json_conv.data, child, 'state', 0)