diff --git a/scenes/pribor-afsp/bort-afsp.tscn b/scenes/pribor-afsp/bort-afsp.tscn index 501c6ef9..7150a580 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 b9e3da60..907863f7 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 a13639b3..6e0c434d 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 f7c57577..ca717ba8 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)