Рефактор.
This commit is contained in:
@@ -25,7 +25,7 @@ config/icon="res://data/icon.png"
|
||||
signaller="*res://scripts/signaller.gd"
|
||||
Log="*res://addons/godot-logger/scripts/logger.gd"
|
||||
Tools="*res://scripts/tools.gd"
|
||||
REPSettings="*res://scripts/repsettings.gd"
|
||||
repsettings="*res://scripts/repsettings.gd"
|
||||
REPNetwork="*res://scripts/repnetwork.gd"
|
||||
yau07="*res://scripts/yau07.gd"
|
||||
capsrpb="*res://scripts/capsrpb.gd"
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
@tool
|
||||
|
||||
extends Panel
|
||||
|
||||
## Основной скрипт для режима "Работа"
|
||||
@@ -7,6 +9,9 @@ extends Panel
|
||||
@export var col_red: Color ## Первый цвет для фона
|
||||
@export var drag_scale_band: float ## Масштаб изменения параметра от движения мыши для строба по радиальному размеру
|
||||
@export var drag_scale_width: float ## Масштаб изменения параметра от движения мыши для строба по угловому размеру
|
||||
@export var freq_high: float ## Верхняя рабочая частота, МГЦ.
|
||||
@export var freq_low: float ## Нижняя рабочая частота, МГЦ.
|
||||
@export var radius_center: Vector2 ## Координаты центра диаграммы пеленг-частота
|
||||
@export var radius_internal: float ## Внутренний радиус диаграммы пеленг-частота
|
||||
@export var radius_outter: float ## Внешний радиус диаграммы пеленг-частота
|
||||
@export var strob_max_band: float ## Максимальная ширина строба по углу
|
||||
@@ -68,11 +73,11 @@ func map_threat_to_bip(th: Threats.Threat, bip: Sprite2D):
|
||||
bip.position = Tools.pos_calc(
|
||||
th.freq,
|
||||
th.aoa,
|
||||
REPSettings.ThreatParams.radius_center,
|
||||
REPSettings.ThreatParams.radius_inner,
|
||||
REPSettings.ThreatParams.radius_outter,
|
||||
REPSettings.ThreatParams.freq_low,
|
||||
REPSettings.ThreatParams.freq_high)
|
||||
radius_center,
|
||||
radius_internal,
|
||||
radius_outter,
|
||||
freq_low,
|
||||
freq_high)
|
||||
var tick = Time.get_ticks_msec()
|
||||
bip.set_tick_update(tick)
|
||||
|
||||
@@ -158,7 +163,7 @@ func _on_drag_begin(event) -> void:
|
||||
strob_band_begin = $canvas.get_strob_band()
|
||||
|
||||
|
||||
## Обработчик событий вввода. Вызывается godot
|
||||
## Обработчик событий ввода. Вызывается godot
|
||||
func _input(event) -> void:
|
||||
if not is_visible_in_tree(): return
|
||||
if event is InputEventMouseMotion:
|
||||
|
||||
@@ -17,6 +17,12 @@ col_grey = Color(0.34902, 0.643137, 0.772549, 0.168627)
|
||||
col_red = Color(1, 0.568627, 0.431373, 0.239216)
|
||||
drag_scale_band = 0.05
|
||||
drag_scale_width = 0.5
|
||||
radius_center = Vector2(560, 560)
|
||||
time_lost = 5000.0
|
||||
freq_low = 200.0
|
||||
freq_high = 6000.0
|
||||
radius_internal = 200.0
|
||||
radius_outter = 550.0
|
||||
strob_max_band = 15.538
|
||||
strob_max_width = 90.0
|
||||
strob_min_band = 0.1
|
||||
@@ -318,6 +324,7 @@ offset_top = 1118.0
|
||||
offset_right = 205.0
|
||||
offset_bottom = 1168.0
|
||||
text = "Откл."
|
||||
pressed = true
|
||||
metadata/rfi_name = "<off>"
|
||||
|
||||
[node name="btn_auto_rfi" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_2sxkw")]
|
||||
|
||||
@@ -17,10 +17,10 @@ var logger_page: Node
|
||||
|
||||
|
||||
func create_socket(nm) -> Socket:
|
||||
var addr = REPSettings.UnitProfiles[nm][1]
|
||||
var port = REPSettings.UnitProfiles[nm][2]
|
||||
var broad = REPSettings.UnitProfiles[nm][3]
|
||||
var bind = REPSettings.UnitProfiles[nm][4]
|
||||
var addr = repsettings.UnitProfiles[nm][1]
|
||||
var port = repsettings.UnitProfiles[nm][2]
|
||||
var broad = repsettings.UnitProfiles[nm][3]
|
||||
var bind = repsettings.UnitProfiles[nm][4]
|
||||
var sock: = Socket.new()
|
||||
sock.set_broadcast_enabled(broad)
|
||||
var rc = Error.OK if not bind else sock.bind(port, addr)
|
||||
@@ -37,12 +37,12 @@ func _ready() -> void:
|
||||
|
||||
sock_unicast = poll_sockets[0]
|
||||
|
||||
for unit_name in REPSettings.UnitProfiles:
|
||||
var setting = REPSettings.UnitProfiles[unit_name]
|
||||
for unit_name in repsettings.UnitProfiles:
|
||||
var setting = repsettings.UnitProfiles[unit_name]
|
||||
var proto = setting[0]
|
||||
if proto in PROTOCOL_TYPES:
|
||||
var unit = PROTOCOL_TYPES[proto].new(unit_name)
|
||||
var unit_key = REPSettings.get_unit_key(unit_name)
|
||||
var unit_key = repsettings.get_unit_key(unit_name)
|
||||
units[unit_key] = unit
|
||||
unit.connect('line_changed', Callable(logger_page, 'on_line_changed').bind(unit_key))
|
||||
unit.connect('command_fail', Callable(logger_page, 'on_command_fail').bind(unit_key))
|
||||
|
||||
@@ -33,12 +33,7 @@ extends Node
|
||||
|
||||
## Параметры цели
|
||||
@export var ThreatParams = {
|
||||
'radius_center': Vector2(560, 560), ## Координаты центра диаграммы в пикселях для отображения частота-пеленг.
|
||||
'time_lost': 5000, ## Время после последнего обновления в мс, через которое цель считается потерянной.
|
||||
'freq_low': 200.0, ## Нижняя рабочая частота, МГЦ.
|
||||
'freq_high': 6000.0, ## Верхняя рабочая частота, МГЦ.
|
||||
'radius_inner': 200, ## Внутренний радиус диаграммы в пикселях для отображения частота-пеленг.
|
||||
'radius_outter': 550 ## Наружний радиус диаграммы в пикселях для отображения частота-пеленг.
|
||||
'time_lost': 5000 ## Время после последнего обновления в мс, через которое цель считается потерянной.
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -45,13 +45,13 @@ signal threats_resized(th: Dictionary)
|
||||
func _ready() -> void:
|
||||
Log.info('Модуль обработки целей готов')
|
||||
var threats = {} ## Список целей. Индекс - <номер цели>
|
||||
var unit_key = REPSettings.get_unit_key('уарэп-капсрпб-отп')
|
||||
var unit_key = repsettings.get_unit_key('уарэп-капсрпб-отп')
|
||||
var unit = REPNetwork.units[unit_key]
|
||||
var timer_check_lost: = Timer.new()
|
||||
add_child(timer_check_lost)
|
||||
unit.connect('data_received', Callable(self, 'on_data_capsrpb_received').bind(threats))
|
||||
timer_check_lost.connect('timeout', Callable(self, 'on_timer_check_lost').bind(REPSettings.ThreatParams.time_lost, threats))
|
||||
timer_check_lost.start(REPSettings.ThreatParams.time_lost / 1000.0)
|
||||
timer_check_lost.connect('timeout', Callable(self, 'on_timer_check_lost').bind(repsettings.ThreatParams.time_lost, threats))
|
||||
timer_check_lost.start(repsettings.ThreatParams.time_lost / 1000.0)
|
||||
|
||||
|
||||
## Периодически удаляет устаревшие цели
|
||||
|
||||
Reference in New Issue
Block a user