Исправления. Исправлен вылет, если цель приходит в режиме контроля с отключеными сигналами в работе.
This commit is contained in:
@@ -745,7 +745,7 @@ func _on_threat_new(th) -> void:
|
|||||||
|
|
||||||
|
|
||||||
func _on_threat_update(th) -> void:
|
func _on_threat_update(th) -> void:
|
||||||
var target = get_parent().get_node(str(th.id))
|
var target = get_parent().get_node_or_null(str(th.id))
|
||||||
if not target:
|
if not target:
|
||||||
return
|
return
|
||||||
var new_position = lonlat_to_world(th.lon, th.lat)
|
var new_position = lonlat_to_world(th.lon, th.lat)
|
||||||
|
|||||||
@@ -190,14 +190,14 @@ func _on_control_prd_pressed() -> void:
|
|||||||
# Показываем прогресс бар
|
# Показываем прогресс бар
|
||||||
$pribor_uf/control_progress.visible = true
|
$pribor_uf/control_progress.visible = true
|
||||||
$pribor_uf/control_progress.value = 0
|
$pribor_uf/control_progress.value = 0
|
||||||
|
|
||||||
# Создаем твин для анимации с плавным началом и концом
|
# Создаем твин для анимации с плавным началом и концом
|
||||||
var tween = create_tween()
|
var tween = create_tween()
|
||||||
tween.tween_property($pribor_uf/control_progress, \"value\", 100, 2.0)\\
|
tween.tween_property($pribor_uf/control_progress, \"value\", 100, 2.0)\\
|
||||||
.set_trans(Tween.TRANS_SINE)\\
|
.set_trans(Tween.TRANS_SINE)\\
|
||||||
.set_ease(Tween.EASE_IN_OUT)
|
.set_ease(Tween.EASE_IN_OUT)
|
||||||
|
|
||||||
tween.tween_callback(func():
|
tween.tween_callback(func():
|
||||||
$pribor_uf/control_progress.visible = false
|
$pribor_uf/control_progress.visible = false
|
||||||
$pribor_uf.state = uf_control.serviceability_uf
|
$pribor_uf.state = uf_control.serviceability_uf
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ var SIGNALS_CONNECTIONS = [
|
|||||||
[signaller, 'interfer_prinuditelno', 'on_interfer_prinuditelno'],
|
[signaller, 'interfer_prinuditelno', 'on_interfer_prinuditelno'],
|
||||||
[signaller, 'interfer_selected', 'on_interfer_selected'],
|
[signaller, 'interfer_selected', 'on_interfer_selected'],
|
||||||
[signaller, 'map_user_panning', 'on_user_panning'],
|
[signaller, 'map_user_panning', 'on_user_panning'],
|
||||||
[signaller, 'on_prog_ecm_off', 'on_interfer_new'],
|
[signaller, 'prog_ecm_off', 'on_interfer_new'],
|
||||||
[signaller, 'rto_threat_sel', 'on_rto_threat_sel'],
|
[signaller, 'rto_threat_sel', 'on_rto_threat_sel'],
|
||||||
[signaller, 'rto_threat_unsel', 'on_rto_threat_unsel'],
|
[signaller, 'rto_threat_unsel', 'on_rto_threat_unsel'],
|
||||||
[signaller, 'sector_klaster', 'sector_klaster'],
|
[signaller, 'sector_klaster', 'sector_klaster'],
|
||||||
@@ -233,12 +233,23 @@ func connect_all() -> void:
|
|||||||
else:
|
else:
|
||||||
var ers = error_string(rc)
|
var ers = error_string(rc)
|
||||||
push_error('%s: %s %s %s' % [ers, item[0], item[1], item[2]])
|
push_error('%s: %s %s %s' % [ers, item[0], item[1], item[2]])
|
||||||
|
signaller.emit_signal('connect_work_signal')
|
||||||
|
for th in thrs_dict.values():
|
||||||
|
var bip = Bip.instantiate()
|
||||||
|
bip.name = '%d' % th.id
|
||||||
|
map_threat_to_bip(th, bip)
|
||||||
|
add_child(bip)
|
||||||
|
var bips: Array = get_children().filter(func(item): return item.name.is_valid_int())
|
||||||
|
|
||||||
|
|
||||||
func disconnect_all() -> void:
|
func disconnect_all() -> void:
|
||||||
for item in signal_conections:
|
for item in signal_conections:
|
||||||
item[0].disconnect(item[1], item[2])
|
item[0].disconnect(item[1], item[2])
|
||||||
signal_conections.clear()
|
signal_conections.clear()
|
||||||
|
var bips: Array = get_children().filter(func(item): return item.name.is_valid_int())
|
||||||
|
for bip in bips:
|
||||||
|
remove_child(bip)
|
||||||
|
bip.free()
|
||||||
|
|
||||||
|
|
||||||
func sector_klaster(sector_data):
|
func sector_klaster(sector_data):
|
||||||
@@ -302,6 +313,7 @@ func map_threat_to_bip(th: threats.Threat, bip: Control) -> bool:
|
|||||||
|
|
||||||
## Обработчик сигнала обновления цели.
|
## Обработчик сигнала обновления цели.
|
||||||
func on_threat_update(th: threats.Threat):
|
func on_threat_update(th: threats.Threat):
|
||||||
|
var bips: Array = get_children().filter(func(item): return item.name.is_valid_int())
|
||||||
var bip = get_node('%d' % th.id)
|
var bip = get_node('%d' % th.id)
|
||||||
bip.update(th.tick_rx)
|
bip.update(th.tick_rx)
|
||||||
if th.gos:
|
if th.gos:
|
||||||
|
|||||||
@@ -353,7 +353,7 @@ func map_msvk_to_ecms(unit_instance: unit.Unit, ecms: Dictionary):
|
|||||||
for ecm in ecms.values():
|
for ecm in ecms.values():
|
||||||
if (ecm.ispp not in ispp_arr) and (ecm.krp == INTERFER_OFF):
|
if (ecm.ispp not in ispp_arr) and (ecm.krp == INTERFER_OFF):
|
||||||
var sz = ecms.size()
|
var sz = ecms.size()
|
||||||
signaller.emit_signal('on_prog_ecm_off', ecm)
|
signaller.emit_signal('prog_ecm_off', ecm)
|
||||||
ecms.erase(ecm.ispp)
|
ecms.erase(ecm.ispp)
|
||||||
thrs.erase(ecm.ispp)
|
thrs.erase(ecm.ispp)
|
||||||
cu.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)
|
send_ecm(ecm, unit_caps)
|
||||||
if not unit_caps.online:
|
if not unit_caps.online:
|
||||||
var sz = ecms.size()
|
var sz = ecms.size()
|
||||||
signaller.emit_signal('on_prog_ecm_off', ecm)
|
signaller.emit_signal('prog_ecm_off', ecm)
|
||||||
ecms.erase(ecm.ispp)
|
ecms.erase(ecm.ispp)
|
||||||
thrs.erase(ecm.ispp)
|
thrs.erase(ecm.ispp)
|
||||||
cu.erase(ecm.ispp)
|
cu.erase(ecm.ispp)
|
||||||
|
|||||||
@@ -227,4 +227,8 @@ signal start_contol_device()
|
|||||||
|
|
||||||
## Вызывается при программном отключении помехи.[br]
|
## Вызывается при программном отключении помехи.[br]
|
||||||
## [param ecm] - выключаемая помеха ([b]true[/b]
|
## [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()
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ func _ready() -> void:
|
|||||||
signaller.connect('rto_threat_unsel_all', Callable(self, 'on_rto_threat_unsel_all').bind(threats))
|
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('threat_selected', Callable(self, 'on_threat_selected').bind(threats))
|
||||||
signaller.connect('interfer_init', Callable(self, 'on_interfer_init').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))
|
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)
|
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)
|
gos_flag = ProjectSettings.get_setting('application/config/Включить работу по своим целям', true)
|
||||||
var protocols: String = ProjectSettings.get_setting('application/config/Список своих протоколов', '')
|
var protocols: String = ProjectSettings.get_setting('application/config/Список своих протоколов', '')
|
||||||
gos_protocols = protocols.split(",", true)
|
gos_protocols = protocols.split(",", true)
|
||||||
@@ -180,3 +181,7 @@ func set_gos(th: Threat):
|
|||||||
th.gos = false
|
th.gos = false
|
||||||
elif (th.proto in gos_protocols) and th.fflags.proto:
|
elif (th.proto in gos_protocols) and th.fflags.proto:
|
||||||
th.gos = true
|
th.gos = true
|
||||||
|
|
||||||
|
|
||||||
|
func on_connect_work_signal(ths: Dictionary):
|
||||||
|
emit_signal('threats_resized', ths)
|
||||||
|
|||||||
Reference in New Issue
Block a user