From 2889db705209cc8425fc2929655d912d9073aefd Mon Sep 17 00:00:00 2001 From: sasha80 Date: Fri, 18 Aug 2023 09:00:08 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=86=D0=B5=D0=BB=D0=B8=20=D0=B2=20=D1=82?= =?UTF-8?q?=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/threats.gd | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/scripts/threats.gd b/scripts/threats.gd index bde460dd..fa54a70c 100644 --- a/scripts/threats.gd +++ b/scripts/threats.gd @@ -23,11 +23,13 @@ class Threat: var slat: float ## Координаты старта, широта в градусах. var slon: float ## Координаты старта, долгота в градусах. var tick: int ## Тик время приёма сигнала, мс. + var tick_rx: int ## Тик время обновления цели, мс. var tmod: String ## Тип модуляции. var width: float ## Ширина занимаемого диапазона частот, МГц. - func _init(): Tools.get_members_names(self).any(func(vn): fflags[vn] = false) - func _to_string() -> String: return 'номер:%d пеленг:%0.1f частота:%0.1f МГц' % [id, aoa, freq] + func _init(): clear_fflags() + func _to_string() -> String: return ': номер:%d пеленг:%0.1f частота:%0.1f МГц' % [id, aoa, freq] + func clear_fflags(): Tools.get_members_names(self).any(func(vn): fflags[vn] = false) func set_from_dic(dic_vals: Dictionary): var items: = fflags.keys().filter(func(vn): return dic_vals.has(vn)) @@ -57,7 +59,7 @@ func _ready() -> void: func on_timer_check_lost(time_lost: int): var tick = Time.get_ticks_msec() for th in threats.values(): - if (tick - th.tick) >= time_lost: + if (tick - th.tick_rx) >= time_lost: threats.erase(th.id) emit_signal('threat_lost', threats, th) @@ -72,13 +74,13 @@ func on_data_capsrpb_received(unit: capsrpb.CapsRpb): var id = int(dic_th['id']) if threats.has(id): var th = threats[id] + th.clear_fflags() th.set_from_dic(dic_th) - th.tick = unit.tick - call_deferred('emit_signal', 'threat_update', threats, th) + th.tick_rx = unit.tick + call_deferred('emit_signal', 'threat_update', threats, th) else: var th = Threat.new() th.set_from_dic(dic_th) - th.tick = unit.tick - th.fflags['tick'] = true threats[id] = th + th.tick_rx = unit.tick call_deferred('emit_signal', 'threat_new', threats, th)