Исправление. Добавление курса к выбору секторов. Исправление случайного включения двух помех при выборе СРН. Автовыбор помехи для цели только в автоматическом режиме.

This commit is contained in:
MaD_CaT
2025-10-09 15:38:55 +03:00
committed by sasha80
parent 148e705af1
commit 71178ced2d
5 changed files with 33 additions and 12 deletions

View File

@@ -308,7 +308,7 @@ func on_interfer_create(interfer_name, sel_threats, fs_arr, power, u, ecms) -> v
var id = item.id
param['freq'] = item.freq
param['width'] = item.width
if (item.rkrp != '') and item.fflags.rkrp:
if (item.rkrp != '') and item.fflags.rkrp and auto_enabled:
var krp = get_krp(item)
if krp != '':
interfer_name = krp
@@ -324,12 +324,15 @@ func on_interfer_create(interfer_name, sel_threats, fs_arr, power, u, ecms) -> v
var kni: float = item[0]
var id = item[3]
var th = null
if not interfer_name in EXCLUDE_INTERFER:
th = find_threat(item[1], kni)
th = find_threat(item[1], kni)
if th != null:
param['freq'] = th.freq
param['width'] = th.width
if (th.rkrp != '') and th.fflags.rkrp:
if not interfer_name in EXCLUDE_INTERFER:
param['freq'] = th.freq
param['width'] = th.width
else:
param['freq'] = item[1]
param['width'] = item[2]
if (th.rkrp != '') and th.fflags.rkrp and auto_enabled:
var krp = get_krp(th)
if krp != '':
interfer_name = krp
@@ -518,7 +521,7 @@ func on_threats_update(threat, ecms, unit_caps):
ecm = ecms[ecm_i]
ecm.params['freq'] = threat.freq
ecm.params['width'] = threat.width
if (threat.rkrp != '') and threat.fflags.rkrp:
if (threat.rkrp != '') and threat.fflags.rkrp and auto_enabled:
var krp = get_krp(threat)
if krp != '':
ecm.krp = krp

View File

@@ -86,7 +86,7 @@ const FS_PRD: Dictionary = {
var fs_dict: Dictionary ## Словарь с модулями ФС
var prd_dict: Dictionary ## Словарь с приборами ПРД
var course = 0.0 ## Курс корабля
var fs_caps_id: Dictionary ## Словарь соответствия номеров ФС от КАПС РПБ внутрипрограммной нумерации
@@ -185,6 +185,7 @@ class PRD:
unit_yau07.connect('command_done', Callable(self, 'on_command_done'))
unit_yau07.connect('line_changed', Callable(self, 'on_line_changed'))
func on_command_done(u):
if yemsg_board.state_board != yemsg_board.WAIT or yemsg_board.state_cmd != yemsg_board.WAIT:
yemsg_board.on_command_done(u)
@@ -284,6 +285,8 @@ func _ready() -> void:
unit_caps.connect('data_received', Callable(self, 'on_data_capsrpb_received'))
signaller.connect('режим_контроль', Callable(self, 'on_mode_changed').bind(PrdState.CONTROL))
signaller.connect('режим_работа', Callable(self, 'on_mode_changed').bind(PrdState.WORK))
var unit_nav = network.get_unit_instance('навигация')
unit_nav.connect('data_received', on_navi_data_received)
func get_fs_param(index: int) -> Array:
@@ -388,3 +391,7 @@ func on_data_capsrpb_received(unit0: capsrpb.CapsRpb):
func on_mode_changed(changed_mode: int) -> void:
for pdr in prd.prd_dict.values():
pdr.state = changed_mode
func on_navi_data_received(data: Dictionary):
course = data.get('k', 0.0)