Исправления. Исправлен вылет, если цель приходит в режиме контроля с отключеными сигналами в работе.

This commit is contained in:
MaD_CaT
2025-12-18 10:44:29 +03:00
parent bbb119017c
commit f9e00e3976
6 changed files with 30 additions and 9 deletions

View File

@@ -353,7 +353,7 @@ func map_msvk_to_ecms(unit_instance: unit.Unit, ecms: Dictionary):
for ecm in ecms.values():
if (ecm.ispp not in ispp_arr) and (ecm.krp == INTERFER_OFF):
var sz = ecms.size()
signaller.emit_signal('on_prog_ecm_off', ecm)
signaller.emit_signal('prog_ecm_off', ecm)
ecms.erase(ecm.ispp)
thrs.erase(ecm.ispp)
cu.erase(ecm.ispp)
@@ -660,7 +660,7 @@ func on_interfer_off(ecm: Interfer, ecms, unit_caps):
send_ecm(ecm, unit_caps)
if not unit_caps.online:
var sz = ecms.size()
signaller.emit_signal('on_prog_ecm_off', ecm)
signaller.emit_signal('prog_ecm_off', ecm)
ecms.erase(ecm.ispp)
thrs.erase(ecm.ispp)
cu.erase(ecm.ispp)

View File

@@ -227,4 +227,8 @@ signal start_contol_device()
## Вызывается при программном отключении помехи.[br]
## [param ecm] - выключаемая помеха ([b]true[/b]
signal on_prog_ecm_off(ecm: interfer.Interfer)
signal prog_ecm_off(ecm: interfer.Interfer)
## Вызывается при подключении обработчиков в режиме работа.[br]
signal connect_work_signal()

View File

@@ -71,6 +71,7 @@ func _ready() -> void:
signaller.connect('rto_threat_unsel_all', Callable(self, 'on_rto_threat_unsel_all').bind(threats))
signaller.connect('threat_selected', Callable(self, 'on_threat_selected').bind(threats))
signaller.connect('interfer_init', Callable(self, 'on_interfer_init').bind(threats))
signaller.connect('connect_work_signal', Callable(self, 'on_connect_work_signal').bind(threats))
ProjectSettings.connect('settings_changed', on_settings_changed.bind(threats))
@@ -166,7 +167,7 @@ func on_data_capsrpb_received(unit: capsrpb.CapsRpb, threats: Dictionary):
call_deferred('emit_signal', 'threats_resized', threats)
func on_settings_changed(ths):
func on_settings_changed(ths: Dictionary):
gos_flag = ProjectSettings.get_setting('application/config/Включить работу по своим целям', true)
var protocols: String = ProjectSettings.get_setting('application/config/Список своих протоколов', '')
gos_protocols = protocols.split(",", true)
@@ -180,3 +181,7 @@ func set_gos(th: Threat):
th.gos = false
elif (th.proto in gos_protocols) and th.fflags.proto:
th.gos = true
func on_connect_work_signal(ths: Dictionary):
emit_signal('threats_resized', ths)