From 70e5cfd1115de3ae16888af45a8571f3319d9cda Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Wed, 24 Sep 2025 14:02:20 +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=9F=D0=B5=D1=80=D0=B5=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2=D1=8B=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=BD=D0=BD=D0=BE=D0=B9=20=D0=BF=D0=BE=D0=BC=D0=B5=D1=85=D0=B8?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B8=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D1=80=D0=B5=D0=BA=D0=BE=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B4=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D0=BE=D0=B9=20=D0=BE=D1=82?= =?UTF-8?q?=20=D1=86=D0=B5=D0=BB=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/frame-ecm-list/scroll-ecm-list.gd | 11 +++++++++++ scripts/interfer.gd | 2 ++ 2 files changed, 13 insertions(+) diff --git a/scenes/frame-ecm-list/scroll-ecm-list.gd b/scenes/frame-ecm-list/scroll-ecm-list.gd index 7acaa67..129162f 100644 --- a/scenes/frame-ecm-list/scroll-ecm-list.gd +++ b/scenes/frame-ecm-list/scroll-ecm-list.gd @@ -84,6 +84,7 @@ func _ready(): signaller.connect('rto_threat_unsel', Callable(self, 'on_rto_threat_unsel')) signaller.connect('rto_threat_sel', Callable(self, 'on_rto_threat_sel').bind(table_index)) interfer.connect('interfer_update', Callable(self, 'on_interfer_update').bind(table_index)) + interfer.connect('interfer_recommendate', Callable(self, 'on_interfer_recommendate')) $table.connect('row_pressed', Callable(self, 'on_row_pressed')) call_deferred('init_table') @@ -159,3 +160,13 @@ func map_th_to_row(ecm) -> Array: if INTERFER_STATE.has(ecm.svk): row[COLUMN_STATE] = '%s' % INTERFER_STATE[ecm.svk] return row + + +func on_interfer_recommendate(ecm): + var sel_rows: Array + $table.get_selected_rows(sel_rows) + if not len(sel_rows): return + var row = sel_rows[0] + var sel_ecm = $table.get_node_user_data(0, sel_rows[0]) + if ecm == sel_ecm: + signaller.emit_signal('interfer_selected', ecm) diff --git a/scripts/interfer.gd b/scripts/interfer.gd index 70b69c3..3876e40 100644 --- a/scripts/interfer.gd +++ b/scripts/interfer.gd @@ -144,6 +144,7 @@ signal interfer_run(ecm: Interfer) ## Вызывается в м signal interfer_error(ecm: Interfer, msg: String) ## Вызывается при ошибке. signal interfer_update(ecm: Interfer) ## Вызывается при обновлении помехи. signal interfer_resized(ecms: Dictionary) ## Вызывается при изменении количества сеансов помех. +signal interfer_recommendate(ecm: Interfer) ## Вызывается когда назначается рекомендуемая для цели помеха ## Отправляет словарь помех в юнит, для запаковки и отправки в 5П28. @@ -492,6 +493,7 @@ func on_threats_update(threat, ecms, unit_caps): if krp != '': ecm.krp = krp set_rparams(threat, ecm.params) + emit_signal('interfer_recommendate', ecm) ecm.kni = threat.aoa set_nmfs(ecm) if threat.tmod != 'fm':