Доработка. Режим Тренаж
This commit is contained in:
@@ -27,3 +27,7 @@ func _on_tab_changed(tab) -> void:
|
||||
func on_setting_changed():
|
||||
var ext_cu = ProjectSettings.get_setting('application/config/Внешнее управление', false)
|
||||
get_parent().get_node('remote_control').visible = ext_cu
|
||||
|
||||
|
||||
func _on_button_trenaj_toggled(toggled_mode: bool) -> void:
|
||||
signaller.emit_signal('режим_тренаж', toggled_mode)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=14 format=3 uid="uid://3slb0i3pvowc"]
|
||||
[gd_scene load_steps=15 format=3 uid="uid://3slb0i3pvowc"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bvo6tcreqyuex" path="res://scenes/tabs-switch/tab-switch.gd" id="1_fg0vd"]
|
||||
[ext_resource type="PackedScene" uid="uid://b276iygic5itk" path="res://scenes/работа/работа.tscn" id="2_u7p16"]
|
||||
@@ -20,6 +20,8 @@
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_o1r22"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_imu1q"]
|
||||
|
||||
[node name="panel" type="Panel"]
|
||||
offset_right = 1600.0
|
||||
offset_bottom = 1200.0
|
||||
@@ -95,4 +97,17 @@ text = "Внешнее управление"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="тренаж_режим" type="Button" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 1404.0
|
||||
offset_right = 1501.0
|
||||
offset_bottom = 27.0
|
||||
tooltip_text = "Задействовать режим Тренаж"
|
||||
focus_mode = 0
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_imu1q")
|
||||
toggle_mode = true
|
||||
text = "Тренаж"
|
||||
|
||||
[connection signal="tab_changed" from="tab_switch" to="tab_switch" method="_on_tab_changed"]
|
||||
[connection signal="toggled" from="тренаж_режим" to="tab_switch" method="_on_button_trenaj_toggled"]
|
||||
|
||||
@@ -7,6 +7,7 @@ func on_threats_changed(th: Object, msg: String): log.message(Logger.INFO, '%s:
|
||||
func on_parse_error(unit_inst, msg: String): log.message(Logger.ERROR, '%s: %s' % [unit_inst.name, msg])
|
||||
func on_interfer_off(ecm, msg: String): log.message(Logger.INFO, '%s: %s' % [msg, ecm.to_string()])
|
||||
func on_set_program_mode(msg: String): log.message(Logger.INFO, msg)
|
||||
func on_mode_trenazh(val: bool): log.message(Logger.INFO, 'Режим \"Тренаж\" %s' % ['отменён', 'задейсвован'][int(val)])
|
||||
|
||||
func on_interfer_new(ecm, msg: String):
|
||||
if ecm.krp != interfer.INTERFER_OFF:
|
||||
@@ -33,6 +34,9 @@ func _ready() -> void:
|
||||
signaller.conn(signaller.режим_эмс, Callable(log, 'info').bind('Программа в режиме \"ЭМС\"'))
|
||||
signaller.conn(signaller.режим_журнал, Callable(log, 'info').bind('Программа в режиме \"Журнал\"'))
|
||||
signaller.conn(signaller.режим_контроль, Callable(log, 'info').bind('Программа в режиме \"Контроль\"'))
|
||||
signaller.conn(signaller.режим_тренаж, Callable(self, 'on_mode_trenazh'))
|
||||
|
||||
|
||||
|
||||
|
||||
func _on_clear_button_down() -> void:
|
||||
|
||||
@@ -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