Доработка. Режим Тренаж
This commit is contained in:
@@ -90,6 +90,7 @@ var cu: Dictionary ## Словарь воздействий для 5
|
||||
var thrs_dict: Dictionary ## Ссылка на словарь целей
|
||||
var auto_enabled: bool = false ## Режим автомата
|
||||
var emit_enable: bool = true ## Разрешить излучение
|
||||
var trenazh_mode: bool = false ## Переключение режима Тренаж
|
||||
|
||||
## Сеанс помехи.
|
||||
class Interfer:
|
||||
@@ -189,6 +190,7 @@ func _ready() -> void:
|
||||
signaller.connect('full_auto', Callable(self, 'on_full_auto'))
|
||||
signaller.connect('interfer_prinuditelno', Callable(self, 'on_interfer_prinuditelno'))
|
||||
signaller.connect('emit_changed', Callable(self, 'on_emit_changed').bind(ecms))
|
||||
signaller.connect('режим_тренаж', on_trenazh_mode)
|
||||
threats.connect('threat_lost', Callable(self, 'on_threats_lost').bind(ecms, unit_caps))
|
||||
threats.connect('threats_resized', Callable(self, 'on_threats_resized'))
|
||||
threats.connect('threat_update', Callable(self, 'on_threats_update').bind(ecms, unit_caps))
|
||||
@@ -196,6 +198,9 @@ func _ready() -> void:
|
||||
unit_nav.connect('data_received', on_nav_data_received.bind(unit_caps))
|
||||
|
||||
|
||||
func on_trenazh_mode(val: bool): trenazh_mode = val
|
||||
|
||||
|
||||
func on_nav_data_received(coords: Dictionary, unit_caps):
|
||||
var ship_time = Time.get_datetime_dict_from_system()
|
||||
var data_to_json = {
|
||||
@@ -238,7 +243,7 @@ func on_th_aoa_update(threats: Dictionary, ecms: Dictionary, unit_instance) -> v
|
||||
ecm.kni = thr.aoa
|
||||
send_ecm(ecm, unit_instance)
|
||||
signaller.emit_signal('fs_update_color', ecms)
|
||||
prd.update_fs_state(ecms)
|
||||
prd.update_fs_state(ecms, trenazh_mode)
|
||||
|
||||
if not auto_enabled:
|
||||
return
|
||||
|
||||
@@ -318,7 +318,7 @@ func find_fs_index(aoa: float, freq: int, fs_index_arr: Array):
|
||||
|
||||
|
||||
## Обновление состояния модулей формирователя сигналов
|
||||
func update_fs_state(ecms):
|
||||
func update_fs_state(ecms, trenaz_mode: bool):
|
||||
for fs in fs_dict.values(): ## Запрет модуляции для всех ФС
|
||||
fs.set_modulation(false)
|
||||
for ecm in ecms.values(): ## Выставление состояния помехи в ФС
|
||||
@@ -330,7 +330,8 @@ func update_fs_state(ecms):
|
||||
for prd_module in prd_dict.values(): ## Отправка команды на исполнение в ПРД
|
||||
if prd_module.state != PrdState.WORK: continue
|
||||
if not prd_module.unit_yau07.online: continue
|
||||
prd_module.cmd_array.append([prd_module.unit_yau07.CmdCode.WRITE_ISA, [prd_module.yemsg_board.base_addr_isa, 6666]])
|
||||
if not trenaz_mode:
|
||||
prd_module.cmd_array.append([prd_module.unit_yau07.CmdCode.WRITE_ISA, [prd_module.yemsg_board.base_addr_isa, 6666]])
|
||||
var um_data_array: Array = []
|
||||
for fs in prd_module.fs_dic.values():
|
||||
if not prd_module.ug_online: continue
|
||||
|
||||
@@ -34,6 +34,9 @@ signal режим_эмс()
|
||||
## Вызывается при переходе в режим [b]Настройка[/b].
|
||||
signal режим_настройки()
|
||||
|
||||
## Вызывается при включении/отключении режима [b]Тренаж[/b].[br]
|
||||
## [param val] - [b]true[/b] тренаж включён.
|
||||
signal режим_тренаж(val: bool)
|
||||
|
||||
## Вызывается, когда оператор переводит программу в режим [b]Автомат выбора цели и помехи[/b].
|
||||
signal full_auto()
|
||||
|
||||
Reference in New Issue
Block a user