Merge remote-tracking branch 'sasha/master'
This commit is contained in:
@@ -1,22 +1,16 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://nl1vklubr5kr"]
|
||||
[gd_scene load_steps=4 format=3 uid="uid://nl1vklubr5kr"]
|
||||
|
||||
[ext_resource type="Shader" path="res://shaders/bip.gdshader" id="1_k6vue"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_2dulj"]
|
||||
shader = ExtResource("1_k6vue")
|
||||
shader_parameter/color = Color(1, 0.101961, 0.494118, 1)
|
||||
shader_parameter/color_up = Color(1, 1, 1, 1)
|
||||
shader_parameter/tick_update = 0
|
||||
|
||||
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_tgf76"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_4xy3s"]
|
||||
script/source = "extends Sprite2D
|
||||
|
||||
func set_bip_color(col: Color): material.set('shader_parameter/color', col)
|
||||
func get_bip_color() -> Color: return material.get('shader_parameter/color')
|
||||
"
|
||||
|
||||
[node name="bip" type="Sprite2D"]
|
||||
material = SubResource("ShaderMaterial_2dulj")
|
||||
scale = Vector2(10, 10)
|
||||
texture = SubResource("PlaceholderTexture2D_tgf76")
|
||||
script = SubResource("GDScript_4xy3s")
|
||||
|
||||
@@ -30,23 +30,19 @@ func on_threat_selected(th):
|
||||
|
||||
|
||||
func init_table():
|
||||
$table.set_header(TABLE_HEADER)
|
||||
$table.set_header_text(TABLE_HEADERS_TEXT)
|
||||
$table.set_columns_min_size(TABLE_COLUMN_SIZE)
|
||||
$table.pin_header(self, get_parent())
|
||||
$table.connect('row_pressed', Callable(self, 'on_row_pressed'))
|
||||
for i in TABLE_PARAMS.size(): $table.add_row(TABLE_ROW)
|
||||
for p in TABLE_PARAMS.values():
|
||||
$table.set_node_text(0, p[0], p[1])
|
||||
$table.set_node_alligment(0, p[0], HORIZONTAL_ALIGNMENT_LEFT)
|
||||
$table.set_node_editable(0, p[0], false)
|
||||
$table.set_node_editable(1, p[0], false)
|
||||
$table.set_columns_min_size(TABLE_COLUMN_SIZE)
|
||||
$table.set_meta('id', 0)
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
signaller.connect('threat_selected', Callable(self, 'on_threat_selected'))
|
||||
Threats.connect('threat_update', Callable(self, 'on_threat_update'))
|
||||
Threats.connect('threat_update', Callable(self, 'on_threat_update'))
|
||||
call_deferred('init_table')
|
||||
|
||||
|
||||
|
||||
@@ -1,19 +1,24 @@
|
||||
@tool
|
||||
|
||||
extends Panel
|
||||
|
||||
## Основной скрипт для режима "Работа"
|
||||
|
||||
@export var Bip: PackedScene ## Сцена точки индикатора излучения цели
|
||||
@export var Bip: PackedScene ## Индикатор излучения цели
|
||||
@export var col_grey: Color ## Второй цвет для фона
|
||||
@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 ## Максимальная ширина строба по углу
|
||||
@export var strob_max_width: float ## Максимальная ширина строба по углу
|
||||
@export var strob_min_band: float ## Минимальная ширина строба по частоте
|
||||
@export var strob_min_width: float ## Минимальная ширина строба по углу
|
||||
@export var window_0_id: int ## Идетификатор окна. Присваивается godot от 0 до количесва созданных окон
|
||||
@export var window_0_id: int ## Идетификатор окна. Присваивается godot от 0 до количества созданных окон
|
||||
|
||||
|
||||
var drag_button: MouseButton ## Кнопка мыши нажатая при перетаскивании
|
||||
@@ -21,7 +26,6 @@ var drag_fsm: DragFSM = DragFSM.IDLE ## Текущее состояние пе
|
||||
var drag_pos_begin: Vector2 ## Точка начала перетаскивания
|
||||
var shift_pressed: bool ## Кнопка SHIFT нажата
|
||||
var strob_band_begin: float ## Ширина строба в момент начала перетаскивания
|
||||
var strob_center: Vector2 ## Центр антенн
|
||||
var strob_dir_begin: float ## Направление антенны в момент начала перетаскивания
|
||||
var strob_width_begin: float ## Ширина строба по углу в момент начала перетаскивания
|
||||
|
||||
@@ -52,7 +56,6 @@ func on_threats_resized(threats: Dictionary): $count_all_pad/count_all.text = '%
|
||||
func _ready():
|
||||
$btn_strobe.button_connect('pressed', Callable(self, 'on_button_strobe_pressed'))
|
||||
$btn_off.set_pressed(true)
|
||||
strob_center = $canvas.get_strob_center()
|
||||
on_button_strobe_pressed()
|
||||
drag_fsm = DragFSM.OFF
|
||||
var nodes: = get_tree().get_nodes_in_group('группа-режим-помехи')
|
||||
@@ -68,11 +71,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)
|
||||
|
||||
|
||||
## Обработчик сигнала обновления цели
|
||||
@@ -127,7 +130,7 @@ func get_strob_band(pos: Vector2, prev: float) -> float:
|
||||
|
||||
## Устанавливает центр строба по частоте и направлению
|
||||
func set_strob(pos: Vector2) -> void:
|
||||
var radp: Vector2 = Tools.map_dec_to_rad(strob_center, pos)
|
||||
var radp: Vector2 = Tools.map_dec_to_rad(radius_center, pos)
|
||||
if radp.y < $canvas.get_radius_outter():
|
||||
$canvas.set_strob_dir(radp.x)
|
||||
$canvas.set_strob_radius(radp.y)
|
||||
@@ -156,7 +159,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,11 @@ 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
|
||||
freq_high = 6000.0
|
||||
freq_low = 200.0
|
||||
radius_center = Vector2(560, 560)
|
||||
radius_internal = 200.0
|
||||
radius_outter = 550.0
|
||||
strob_max_band = 15.538
|
||||
strob_max_width = 90.0
|
||||
strob_min_band = 0.1
|
||||
@@ -91,7 +96,7 @@ vertical_alignment = 1
|
||||
[node name="scroll" type="ScrollContainer" parent="grd_side/frm_params"]
|
||||
layout_mode = 0
|
||||
offset_left = 4.0
|
||||
offset_top = 54.0
|
||||
offset_top = 27.0
|
||||
offset_right = 476.0
|
||||
offset_bottom = 282.0
|
||||
script = ExtResource("6_l01tb")
|
||||
@@ -318,6 +323,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("8_2hm8b")]
|
||||
|
||||
Reference in New Issue
Block a user