Рефактор.
This commit is contained in:
@@ -89,18 +89,18 @@ signal interfer_resized(ecms: Dictionary) ## Вызывается пр
|
||||
|
||||
|
||||
## Отправляет словарь помех в юнит, для запаковки и отправки в 5П28.
|
||||
func on_get_interfers(unit, ecms): unit.pack_interfers(cu, ecms)
|
||||
func on_get_interfers(unit, ecms) -> void: unit.pack_interfers(cu, ecms)
|
||||
|
||||
|
||||
## Автмат выключен
|
||||
func on_manual_control(): auto_enabled = false
|
||||
func on_manual_control() -> void: auto_enabled = false
|
||||
|
||||
|
||||
## Автмат отключен
|
||||
func on_full_auto(): auto_enabled = true
|
||||
func on_full_auto() -> void: auto_enabled = true
|
||||
|
||||
|
||||
func _ready():
|
||||
func _ready() -> void:
|
||||
var ecms: Dictionary = {} ## Словарь помех.
|
||||
for i in ID_INTERFERS_LEN: # Заполняет массив ID целей
|
||||
id_array.append(i + 1)
|
||||
@@ -129,7 +129,7 @@ func _ready():
|
||||
|
||||
|
||||
## Проверяет состояние отправки пакета и если не доставлен, повторяет отправку.
|
||||
func on_timer_check_state(unit, ecms, resend_timeout):
|
||||
func on_timer_check_state(unit, ecms, resend_timeout) -> void:
|
||||
var tick = Time.get_ticks_msec()
|
||||
for ecm in ecms.values():
|
||||
if (tick - ecm.tick_tx) >= resend_timeout:
|
||||
@@ -137,7 +137,7 @@ func on_timer_check_state(unit, ecms, resend_timeout):
|
||||
ecm.tick_tx = tick
|
||||
|
||||
|
||||
func on_th_aoa_update(threats: Dictionary, ecms: Dictionary, unit):
|
||||
func on_th_aoa_update(threats: Dictionary, ecms: Dictionary, unit) -> void:
|
||||
for thr in threats.values():
|
||||
var th_id = thr.id
|
||||
for ecm_i in thrs.keys():
|
||||
@@ -160,13 +160,13 @@ func on_th_aoa_update(threats: Dictionary, ecms: Dictionary, unit):
|
||||
|
||||
|
||||
## Производит приём состояния помех. [param unit] -> [param ecms].
|
||||
func on_data_capsrpb_received(unit: capsrpb.CapsRpb, ecms: Dictionary):
|
||||
if not unit.json_dic.has('ts'): return
|
||||
if not (unit.json_dic['ts'] is float): return
|
||||
if unit.json_dic['ts'] != 5: return
|
||||
if not unit.json_dic.has('msvk'): return
|
||||
if not (unit.json_dic['msvk'] is Array): return
|
||||
var msvk = unit.json_dic['msvk']
|
||||
func on_data_capsrpb_received(unit0: capsrpb.CapsRpb, ecms: Dictionary) -> void:
|
||||
if not unit0.json_dic.has('ts'): return
|
||||
if not (unit0.json_dic['ts'] is float): return
|
||||
if unit0.json_dic['ts'] != 5: return
|
||||
if not unit0.json_dic.has('msvk'): return
|
||||
if not (unit0.json_dic['msvk'] is Array): return
|
||||
var msvk = unit0.json_dic['msvk']
|
||||
var sz: = ecms.size()
|
||||
for dic_msvk in msvk:
|
||||
if not (dic_msvk is Dictionary): continue
|
||||
@@ -180,13 +180,13 @@ func on_data_capsrpb_received(unit: capsrpb.CapsRpb, ecms: Dictionary):
|
||||
var ecm = Interfer.new()
|
||||
ecm.set_from_dic(dic_msvk)
|
||||
ecm.krp = INTERFER_OFF
|
||||
send_ecm(ecm, unit)
|
||||
send_ecm(ecm, unit0)
|
||||
if sz != ecms.size():
|
||||
call_deferred('emit_signal', 'interfer_resized', ecms)
|
||||
|
||||
|
||||
## Вызыватся, когда пользователь выбрал помеху и выбраны цели.
|
||||
func on_interfer_create(interfer_name, sel_threats, fs_arr, u, ecms):
|
||||
func on_interfer_create(interfer_name, sel_threats, fs_arr, u, ecms) -> void:
|
||||
for item in sel_threats:
|
||||
var param: Dictionary = {}
|
||||
var kni: float = item.aoa
|
||||
@@ -212,7 +212,7 @@ func on_interfer_create(interfer_name, sel_threats, fs_arr, u, ecms):
|
||||
interfer_create(u, interfer_name, ecms, param, kni, id, fs, SOURCE_INTERFER[1])
|
||||
|
||||
|
||||
func on_interfer_rcv(interfer_params: Array, unit, ecms):
|
||||
func on_interfer_rcv(interfer_params: Array, unit0, ecms) -> void:
|
||||
var err: bool = false
|
||||
var mode = interfer_params[0]
|
||||
var id = interfer_params[1]
|
||||
@@ -238,11 +238,11 @@ func on_interfer_rcv(interfer_params: Array, unit, ecms):
|
||||
if interfer_name == '':
|
||||
err = true
|
||||
if not err:
|
||||
interfer_create(unit, interfer_name, ecms, param, aoa, id, cu, SOURCE_INTERFER[2])
|
||||
unit.on_interfer_accept(err)
|
||||
interfer_create(unit0, interfer_name, ecms, param, aoa, id, cu, SOURCE_INTERFER[2])
|
||||
unit0.on_interfer_accept(err)
|
||||
|
||||
|
||||
func interfer_create(u, interfer_name, ecms, param, kni, id, dict, source_interfer):
|
||||
func interfer_create(u, interfer_name, ecms, param, kni, id, dict, source_interfer) -> void:
|
||||
var ispp: int = 0
|
||||
if interfer_name == 'k1':
|
||||
param['dur'] = 1.0 # Необходимо добавить параметры управления
|
||||
@@ -285,26 +285,26 @@ func interfer_create(u, interfer_name, ecms, param, kni, id, dict, source_interf
|
||||
send_ecm(ecm, u)
|
||||
|
||||
|
||||
func send_ecm(ecm, unit):
|
||||
func send_ecm(ecm, unit0) -> void:
|
||||
msg_num += 1
|
||||
var json_data = ecm.get_msg6_data(msg_num)
|
||||
unit.tx_stack.append(json_data)
|
||||
unit0.tx_stack.append(json_data)
|
||||
|
||||
|
||||
func on_interfer_off_all(unit, ecms):
|
||||
for ecm in ecms.values():
|
||||
ecm.krp = INTERFER_OFF
|
||||
send_ecm(ecm, unit)
|
||||
signaller.emit_signal('interfer_off',ecm, ecms, thrs)
|
||||
func on_interfer_off_all(unit0, ecms: Dictionary) -> void:
|
||||
for ecm in ecms.values():
|
||||
ecm.krp = INTERFER_OFF
|
||||
send_ecm(ecm, unit0)
|
||||
signaller.emit_signal('interfer_off', ecm, ecms, thrs)
|
||||
|
||||
|
||||
func on_threats_lost(th, ecms, unit):
|
||||
func on_threats_lost(th, ecms, unit0) -> void:
|
||||
for key in interfer.thrs:
|
||||
if interfer.thrs[key] == th.id:
|
||||
var ecm_id = key
|
||||
var ecm = ecms[ecm_id]
|
||||
ecm.krp = INTERFER_OFF
|
||||
send_ecm(ecm, unit)
|
||||
send_ecm(ecm, unit0)
|
||||
signaller.emit_signal('interfer_off', ecm, ecms, thrs)
|
||||
|
||||
|
||||
@@ -316,12 +316,12 @@ func pop_id() -> int:
|
||||
return id
|
||||
|
||||
|
||||
func push_id(id: int):
|
||||
func push_id(id: int) -> void:
|
||||
id_array.append(id)
|
||||
id_array.sort()
|
||||
|
||||
|
||||
func on_emit_changed(state, ecms):
|
||||
func on_emit_changed(state, ecms) -> void:
|
||||
emit_enable = state
|
||||
for ecm in ecms.values():
|
||||
ecm.modulation = state
|
||||
|
||||
Reference in New Issue
Block a user