From 970d1b2773e2582400f67525e4d4616a4237fa18 Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Thu, 17 Jul 2025 11:23: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=92=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D1=8C=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D1=8F?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BC=D0=BE=D1=89=D0=BD=D0=BE=D1=81=D1=82=D1=8C?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B8=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B5=20?= =?UTF-8?q?=D1=81=D0=B8=D0=B3=D0=BD=D0=B0=D0=BB=D0=B0=20=D0=B8=D0=BD=D0=B8?= =?UTF-8?q?=D1=86=D0=B8=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BC=D0=B5=D1=85=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-prd-k/pribor_prd_k.gd | 2 +- scenes/pribor-prd-n/pribor_prd_n.gd | 2 +- scenes/pribor-prd-v/pribor_prd_v.gd | 2 +- scenes/работа/работа.gd | 4 ++-- scripts/interfer.gd | 16 +++++++++------- scripts/signaller.gd | 4 ++-- scripts/threats.gd | 4 ++-- 7 files changed, 18 insertions(+), 16 deletions(-) diff --git a/scenes/pribor-prd-k/pribor_prd_k.gd b/scenes/pribor-prd-k/pribor_prd_k.gd index bcd55a5..67e711b 100644 --- a/scenes/pribor-prd-k/pribor_prd_k.gd +++ b/scenes/pribor-prd-k/pribor_prd_k.gd @@ -296,7 +296,7 @@ func _on_control_fs(mode: bool) -> void: else: interfer_name = 'off' fs_arr = [[90.0, 2450.0, 1500.0, 23]] - signaller.emit_signal('interfer_init', interfer_name, fs_arr) + signaller.emit_signal('interfer_init', interfer_name, fs_arr, 100.0) func on_stop_control() -> void: diff --git a/scenes/pribor-prd-n/pribor_prd_n.gd b/scenes/pribor-prd-n/pribor_prd_n.gd index aecf3f1..fda5410 100644 --- a/scenes/pribor-prd-n/pribor_prd_n.gd +++ b/scenes/pribor-prd-n/pribor_prd_n.gd @@ -261,7 +261,7 @@ func _on_control_fs(mode: bool) -> void: else: interfer_name = 'off' fs_arr = [[90.0, 2450.0, 1500.0, 23]] - signaller.emit_signal('interfer_init', interfer_name, fs_arr) + signaller.emit_signal('interfer_init', interfer_name, fs_arr, 100.0) func on_stop_control() -> void: diff --git a/scenes/pribor-prd-v/pribor_prd_v.gd b/scenes/pribor-prd-v/pribor_prd_v.gd index fe6b8a8..ecdbcd4 100644 --- a/scenes/pribor-prd-v/pribor_prd_v.gd +++ b/scenes/pribor-prd-v/pribor_prd_v.gd @@ -269,7 +269,7 @@ func _on_control_fs(mode: bool) -> void: else: interfer_name = 'off' fs_arr = [[90.0, 2450.0, 1500.0, 23]] - signaller.emit_signal('interfer_init', interfer_name, fs_arr) + signaller.emit_signal('interfer_init', interfer_name, fs_arr, 100.0) func on_stop_control() -> void: diff --git a/scenes/работа/работа.gd b/scenes/работа/работа.gd index 1d07491..684b407 100644 --- a/scenes/работа/работа.gd +++ b/scenes/работа/работа.gd @@ -305,7 +305,7 @@ func on_button_pressed(btn_this, btn_others) -> void: var interfer_name: String = btn_this.get_meta('rfi_name') for key in fs_selected.keys(): fs_arr.append(prd.get_fs_param(key)) - signaller.emit_signal('interfer_init', interfer_name, fs_arr) + signaller.emit_signal('interfer_init', interfer_name, fs_arr, interfer.POW_DEFAULT) ## Управляет состоянием кнопок в радиогруппе при выборе помехи. @@ -491,7 +491,7 @@ func on_interfer_prinuditelno (prenuditelno_sectors, btns): var sectors = [] for sector in prenuditelno_sectors[key]: sectors.append(prd.get_fs_param(sector)) - signaller.emit_signal('interfer_init', key, sectors) + signaller.emit_signal('interfer_init', key, sectors, interfer.POW_DEFAULT) update_fs_colors() for btn in btns: btn.set_pressed(false) diff --git a/scripts/interfer.gd b/scripts/interfer.gd index f69836d..878472c 100644 --- a/scripts/interfer.gd +++ b/scripts/interfer.gd @@ -24,6 +24,7 @@ const ITERFER_MODE = { const SOURCE_INTERFER = ['th','fs','cu'] const ID_INTERFERS_LEN = 63 ## Размер пула номеров целей. const INTERFER_OFF = 'off' +const POW_DEFAULT: float = 100.0 var msg_num: int = 0 ## Счётчик сообщений. var id_array: Array ## Массив id воздействий. var thrs: Dictionary ## Словарь воздействия для целей, ключ - id воздействия. @@ -62,6 +63,7 @@ class Interfer: data_to_json['params'] = params data_to_json['get'] = get_params var pac = JSON.stringify(data_to_json).to_utf8_buffer() + print_debug(powp) return pac func set_from_dic(dic: Dictionary): @@ -155,7 +157,7 @@ func on_th_aoa_update(threats: Dictionary, ecms: Dictionary, unit) -> void: if auto_enabled: for thr in threats.values(): thr.auto_selected = true - signaller.emit_signal('interfer_init', 'lchm1', []) + signaller.emit_signal('interfer_init', 'lchm1', [], interfer.POW_DEFAULT) thr.auto_selected = false @@ -186,7 +188,7 @@ func on_data_capsrpb_received(unit0: capsrpb.CapsRpb, ecms: Dictionary) -> void: ## Вызыватся, когда пользователь выбрал помеху и выбраны цели. -func on_interfer_create(interfer_name, sel_threats, fs_arr, u, ecms) -> void: +func on_interfer_create(interfer_name, sel_threats, fs_arr, power, u, ecms) -> void: for item in sel_threats: var param: Dictionary = {} var kni: float = item.aoa @@ -197,7 +199,7 @@ func on_interfer_create(interfer_name, sel_threats, fs_arr, u, ecms) -> void: param['width'] = settings.WIDTH_MIN elif (param['width'] > settings.WIDTH_MAX): param['width'] = settings.WIDTH_MAX - interfer_create(u, interfer_name, ecms, param, kni, id, thrs, SOURCE_INTERFER[0]) + interfer_create(u, interfer_name, ecms, param, kni, id, thrs, SOURCE_INTERFER[0], POW_DEFAULT) for item in fs_arr: var param: Dictionary = {} @@ -209,7 +211,7 @@ func on_interfer_create(interfer_name, sel_threats, fs_arr, u, ecms) -> void: param['width'] = settings.WIDTH_MIN elif (param['width'] > settings.WIDTH_MAX): param['width'] = settings.WIDTH_MAX - interfer_create(u, interfer_name, ecms, param, kni, id, fs, SOURCE_INTERFER[1]) + interfer_create(u, interfer_name, ecms, param, kni, id, fs, SOURCE_INTERFER[1], POW_DEFAULT) func on_interfer_rcv(interfer_params: Array, unit0, ecms) -> void: @@ -238,11 +240,11 @@ func on_interfer_rcv(interfer_params: Array, unit0, ecms) -> void: if interfer_name == '': err = true if not err: - interfer_create(unit0, interfer_name, ecms, param, aoa, id, cu, SOURCE_INTERFER[2]) + interfer_create(unit0, interfer_name, ecms, param, aoa, id, cu, SOURCE_INTERFER[2], POW_DEFAULT) unit0.on_interfer_accept(err) -func interfer_create(u, interfer_name, ecms, param, kni, id, dict, source_interfer) -> void: +func interfer_create(u, interfer_name, ecms, param, kni, id, dict, source_interfer, power) -> void: var ispp: int = 0 if interfer_name == 'k1': param['dur'] = 1.0 # Необходимо добавить параметры управления @@ -270,7 +272,7 @@ func interfer_create(u, interfer_name, ecms, param, kni, id, dict, source_interf ecm.kni = kni ecm.krp = interfer_name ecm.params = param - ecm.powp = 100.0 + ecm.powp = power ecm.source_interfer = source_interfer ecm.modulation = emit_enable if param.has('um'): diff --git a/scripts/signaller.gd b/scripts/signaller.gd index b3a6597..37754ac 100644 --- a/scripts/signaller.gd +++ b/scripts/signaller.gd @@ -89,13 +89,13 @@ signal rto_threat_unsel_all() ## Вызывается, когда пользователь выбирает помеху.[br] ## [param btn] - Нажатая кнопка помехи. -signal interfer_init(interfer_name: String, fs_arr: Array) +signal interfer_init(interfer_name: String, fs_arr: Array, power: float) ## Вызывается, когда выбраны цели для постановки помех.[br] ## [param btn] - Нажатая кнопка помехи.[br] ## [param sel_threats] - Cписок целей. -signal interfer_create(interfer_name: String, sel_threats: Array, fs_arr: Array) +signal interfer_create(interfer_name: String, sel_threats: Array, fs_arr: Array, power: float) ## Вызывается, когда создалась новая помеха.[br] diff --git a/scripts/threats.gd b/scripts/threats.gd index eb3f495..a12dbc0 100644 --- a/scripts/threats.gd +++ b/scripts/threats.gd @@ -110,7 +110,7 @@ func on_threat_selected(th, threats): ## Формирует список выбранных целей для включения помехи. -func on_interfer_init(interfer_name, fs_arr, threats): +func on_interfer_init(interfer_name, fs_arr, power, threats): var sel_threats: Array = [] for threat in threats.values(): if threat.selected: @@ -118,7 +118,7 @@ func on_interfer_init(interfer_name, fs_arr, threats): if threat.auto_selected: sel_threats.append(threat) if len(sel_threats) or (len(fs_arr)): - signaller.emit_signal('interfer_create', interfer_name, sel_threats, fs_arr) + signaller.emit_signal('interfer_create', interfer_name, sel_threats, fs_arr, power) ## Производит приём целей.