From 0c85a85d7c3f9204afb661d4c55bb6832c6796d2 Mon Sep 17 00:00:00 2001 From: Maxim Date: Fri, 16 Jan 2026 11:13:22 +0300 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=BD=D0=B8=D0=BC=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BF=D1=80=D0=BE=D0=B3=D1=80=D0=B5=D1=81=D1=81=D0=B0?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=91=D0=9F=D0=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-afsp/pribor-afsp.gd | 16 +++++++-------- scenes/pribor-afsp/pribor-bpo.gd | 27 +++++++++++++++---------- scenes/контроль/request.gd | 4 ++-- scenes/контроль/контроль.tscn | 33 ++++++++++++++++++++++++++----- 4 files changed, 55 insertions(+), 25 deletions(-) diff --git a/scenes/pribor-afsp/pribor-afsp.gd b/scenes/pribor-afsp/pribor-afsp.gd index 504ef8c7..dc9ddbff 100644 --- a/scenes/pribor-afsp/pribor-afsp.gd +++ b/scenes/pribor-afsp/pribor-afsp.gd @@ -9,23 +9,23 @@ class_name pribor_afsp extends 'res://scenes/контроль/прибор.gd' static var json_conv: JSON = JSON.new() static var node_maper = load('res://scenes/контроль/node-maper.gd') +static var node_request: Node +static var node_request_timer: Node var ctrl_pos = 0 -var request_url: Node -var time_req: Node # SystemName: "gen" DevList - там состояние связи с генератором по кан шине func _ready() -> void: ProjectSettings.connect('settings_changed', on_settings_chaged) + node_request = $request + node_request_timer = $request/timer on_settings_chaged() - request_url = $request - time_req = $request/timer func on_settings_chaged(): - $request.request_url = ProjectSettings.get_setting('application/config/%s' % settings_path_to_url) - $request/timer.wait_time = float(ProjectSettings.get_setting('application/config/%s' % settings_path_to_wait_time)) - tools.allways($request.request_url != null) + node_request.request_url = ProjectSettings.get_setting('application/config/%s' % settings_path_to_url) + node_request_timer.wait_time = float(ProjectSettings.get_setting('application/config/%s' % settings_path_to_wait_time)) + tools.allways(node_request.request_url != null) func _on_request_completed(result, _response_code, headers, body: PackedByteArray): @@ -33,7 +33,7 @@ func _on_request_completed(result, _response_code, headers, body: PackedByteArra var unit_instance: = network.get_unit_instance(unit_name) if result != 0: - var rs = $request.get_result_string(result) + var rs = node_request.get_result_string(result) log.error('\"%s\"' % rs) if unit_instance.online: unit_instance.online = false diff --git a/scenes/pribor-afsp/pribor-bpo.gd b/scenes/pribor-afsp/pribor-bpo.gd index e68f542c..6a82b5c6 100644 --- a/scenes/pribor-afsp/pribor-bpo.gd +++ b/scenes/pribor-afsp/pribor-bpo.gd @@ -10,12 +10,15 @@ class_name pribor_rtr extends 'res://scenes/контроль/прибор.gd' @export var settings_path2_to_url: String = '' ## Должно быть в ProjectSettings @export var settings_path_to_wait_time: String = '' ## Должно быть в ProjectSettings - static var json_conv: JSON = JSON.new() static var node_maper = load('res://scenes/контроль/node-maper.gd') +static var node_request_1: Node +static var node_request_timer_1: Node +static var node_request_2: Node +static var node_request_timer_2: Node + + var ctrl_pos = 110 - - var bort_to_node_name = {} var bort_to_unit_name = {} @@ -23,6 +26,10 @@ var bort_to_unit_name = {} func _ready() -> void: ProjectSettings.connect('settings_changed', on_settings_changed) + node_request_1 = $request1 + node_request_timer_1 = $request1/timer + node_request_2 = $request2 + node_request_timer_2 = $request2/timer on_settings_changed() find_labels(self) @@ -30,17 +37,17 @@ func _ready() -> void: func on_settings_changed(): bort_to_node_name.merge({this_bpo1_name: 'grid_bpo_a1', this_bpo2_name: 'grid_bpo_a2'}, true) bort_to_unit_name.merge({this_bpo1_name: unit_name1, this_bpo2_name: unit_name2}) - $request1.request_url = ProjectSettings.get_setting('application/config/%s' % settings_path1_to_url) - $request1/timer.wait_time = float(ProjectSettings.get_setting('application/config/%s' % settings_path_to_wait_time)) - $request2.request_url = ProjectSettings.get_setting('application/config/%s' % settings_path2_to_url) - $request2/timer.wait_time = float(ProjectSettings.get_setting('application/config/%s' % settings_path_to_wait_time)) - assert($request1.request_url != null) - assert($request2.request_url != null) + node_request_1.request_url = ProjectSettings.get_setting('application/config/%s' % settings_path1_to_url) + node_request_timer_1.wait_time = float(ProjectSettings.get_setting('application/config/%s' % settings_path_to_wait_time)) + node_request_2.request_url = ProjectSettings.get_setting('application/config/%s' % settings_path2_to_url) + node_request_timer_2.wait_time = float(ProjectSettings.get_setting('application/config/%s' % settings_path_to_wait_time)) + assert(node_request_1.request_url != null) + assert(node_request_2.request_url != null) func _on_request_completed(result, _response_code, headers, body: PackedByteArray): if result != 0: - var rs = $request1.get_result_string(result) + var rs = node_request_1.get_result_string(result) push_error('\"%s\"' % rs) return diff --git a/scenes/контроль/request.gd b/scenes/контроль/request.gd index 7b9522b4..e299fc32 100644 --- a/scenes/контроль/request.gd +++ b/scenes/контроль/request.gd @@ -21,7 +21,7 @@ const RESULT_STRINGS = { @export var request_url: String = '' -signal sending_request() ## Отправка запроса +signal sending_request_afp_bpo() ## Отправка запроса func get_result_string(result: Result): @@ -34,4 +34,4 @@ func _on_request_timer(): var rc: = request(request_url) if rc != Error.OK: push_error('%s: \"%s\"' % [error_string(rc), request_url]) - emit_signal('sending_request') + emit_signal('sending_request_afp_bpo') diff --git a/scenes/контроль/контроль.tscn b/scenes/контроль/контроль.tscn index dc61ccc8..b7d69f6e 100644 --- a/scenes/контроль/контроль.tscn +++ b/scenes/контроль/контроль.tscn @@ -168,12 +168,13 @@ func on_pribor_press(pribor_path, header_text, pribor_node): add_child(pribor) update_pribor_items_visibility() if pribor_node.get_meta('unit_name')[0] == 'уарэп-афсп-левый' or pribor_node.get_meta('unit_name')[0] == 'уарэп-афсп-правый': - var req = pribor.request_url - req.connect('sending_request', Callable(self, 'on_sending_request').bind(pribor_node, pribor.time_req.wait_time)) + pribor.node_request.connect('sending_request_afp_bpo', Callable(self, 'on_sending_request_afp_bpo').bind(pribor_node, pribor.node_request_timer.wait_time)) + if pribor_node.get_meta('unit_name')[0] == 'уарэп-бпо-1' or pribor_node.get_meta('unit_name')[0] == 'уарэп-бпо-2': + pribor.node_request_1.connect('sending_request_afp_bpo', Callable(self, 'on_sending_request_afp_bpo').bind(pribor_node, pribor.node_request_timer_1.wait_time)) # Вызов при отправке запроса на селфтест АФСП -func on_sending_request(node: Node, time_req: float) -> void: +func on_sending_request_afp_bpo(node: Node, time_req: float) -> void: node.progress_max_value = 100 node.progress_value = 0 node.progress_visible = true @@ -711,9 +712,9 @@ texture = ExtResource("11_gjf0t") [node name="control_progress" type="TextureProgressBar" parent="pribor_uf"] visible = false layout_mode = 0 -offset_left = 1.0 +offset_left = 2.0 offset_top = 176.0 -offset_right = 94.0 +offset_right = 95.0 offset_bottom = 186.0 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -825,6 +826,28 @@ scale = Vector2(0.6, 0.596) sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 +[node name="control_progress" type="TextureProgressBar" parent="pribor_rtr"] +visible = false +offset_left = 6.0 +offset_top = 172.0 +offset_right = 102.0 +offset_bottom = 182.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Текущее: 0.00" +mouse_filter = 0 +max_value = 30.0 +nine_patch_stretch = true +stretch_margin_left = 5 +stretch_margin_top = 5 +stretch_margin_right = 5 +stretch_margin_bottom = 5 +texture_under = ExtResource("9_w6m6a") +texture_progress = ExtResource("10_lbx5w") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + [node name="pribor_afsp_1" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0