Merge remote-tracking branch 'sasha/master'

This commit is contained in:
MaD_CaT
2023-09-19 09:53:35 +03:00
12 changed files with 71 additions and 73 deletions

View File

@@ -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")

View File

@@ -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')

View File

@@ -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:

View File

@@ -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")]