diff --git a/main.tscn b/main.tscn index 82faed1..f8693c8 100644 --- a/main.tscn +++ b/main.tscn @@ -1,16 +1,18 @@ [gd_scene load_steps=3 format=3 uid="uid://cu3e03by7d61j"] -[ext_resource type="PackedScene" uid="uid://b276iygic5itk" path="res://scenes/работа.tscn" id="2_70q2b"] -[ext_resource type="PackedScene" uid="uid://lwmw4egynmd1" path="res://scenes/контроль.tscn" id="9_jpswg"] +[ext_resource type="PackedScene" uid="uid://3slb0i3pvowc" path="res://scenes/tab_switch.tscn" id="1_q31c2"] +[ext_resource type="PackedScene" uid="uid://w6ta0ck1bedl" path="res://scenes/wnd_stc.tscn" id="2_hsjlm"] -[node name="tab_switch" type="TabContainer"] -offset_top = -2.0 +[node name="main" type="Control"] +layout_mode = 3 +anchors_preset = 0 +offset_top = -55.0 offset_right = 1600.0 -offset_bottom = 1200.0 +offset_bottom = 1145.0 -[node name="работа" parent="." instance=ExtResource("2_70q2b")] -layout_mode = 2 +[node name="tab_switch" parent="." instance=ExtResource("1_q31c2")] +layout_mode = 0 +offset_top = 0.0 +offset_bottom = 1202.0 -[node name="контроль" parent="." instance=ExtResource("9_jpswg")] -visible = false -layout_mode = 2 +[node name="wnd_stc" parent="." instance=ExtResource("2_hsjlm")] diff --git a/project.godot b/project.godot index ad61879..2c42ad0 100644 --- a/project.godot +++ b/project.godot @@ -18,7 +18,6 @@ boot_splash/show_image=false boot_splash/fullsize=false boot_splash/use_filter=false config/icon="res://data/icon.png" -run/delta_sync_after_draw=true [debug] @@ -28,7 +27,8 @@ file_logging/enable_file_logging=true window/size/viewport_width=1600 window/size/viewport_height=1200 -window/stretch/mode="viewport" +window/size/mode=3 +window/subwindows/embed_subwindows=false window/vsync/vsync_mode=false [editor_plugins] @@ -37,8 +37,10 @@ enabled=PackedStringArray() [gui] +fonts/dynamic_fonts/use_oversampling=false common/text_edit_undo_stack_max_size=10 theme/custom_font="res://data/main-font.tres" +theme/lcd_subpixel_layout=0 common/drop_mouse_on_gui_input_disabled=true [input_devices] @@ -53,5 +55,6 @@ file_logging/enable_file_logging=true renderer/rendering_method="gl_compatibility" textures/default_filters/anisotropic_filtering_level=0 +anti_aliasing/screen_space_roughness_limiter/enabled=false environment/defaults/default_environment="res://default_env.tres" quality/driver/fallback_to_gles2=true diff --git a/scenes/canvas.tscn b/scenes/canvas.tscn new file mode 100644 index 0000000..5b66791 --- /dev/null +++ b/scenes/canvas.tscn @@ -0,0 +1,163 @@ +[gd_scene load_steps=14 format=3 uid="uid://b5kjdyxuwsot5"] + +[ext_resource type="Material" uid="uid://s6xe8igevnv2" path="res://shaders/shader_edu.tres" id="1_ow7xo"] +[ext_resource type="Texture2D" uid="uid://cqu18m05sdl5w" path="res://data/прицел-табличка.png" id="2_g47s7"] +[ext_resource type="Texture2D" uid="uid://6qqcqds5majk" path="res://data/отметка-бпла.png" id="3_bgvyj"] +[ext_resource type="Texture2D" uid="uid://bibsq2uejlm0s" path="res://data/отметка-корабль.png" id="4_wasyy"] +[ext_resource type="Texture2D" uid="uid://b8ern67qnb5ky" path="res://data/кораблик-22800.png" id="5_1y104"] +[ext_resource type="Texture2D" uid="uid://biy3dmtuefrqe" path="res://data/отметка-ракета.png" id="6_mvioa"] +[ext_resource type="Texture2D" uid="uid://b3woliae871je" path="res://data/отметка-неопред.png" id="7_6ag6n"] +[ext_resource type="Texture2D" uid="uid://ccgavrtpkd56i" path="res://data/прицел-сопровождение.png" id="8_l63ig"] + +[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_2bft1"] +size = Vector2(1600, 1200) + +[sub_resource type="Animation" id="Animation_vbwp0"] +length = 0.001 +loop_mode = 1 + +[sub_resource type="Animation" id="Animation_wfwqs"] +resource_name = "вращение" +length = 6.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("canvas/прицел-сопровождение-3:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = false +tracks/0/keys = { +"times": PackedFloat32Array(0, 3, 6), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [0.0, 6.28319, 12.5664] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("canvas/прицел-сопровождение-1:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = false +tracks/1/keys = { +"times": PackedFloat32Array(0, 3, 6), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [0.0, 6.28319, 12.5664] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("canvas/прицел-табличка:rotation") +tracks/2/interp = 1 +tracks/2/loop_wrap = false +tracks/2/keys = { +"times": PackedFloat32Array(0, 3, 6), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [6.28319, 0.0, -6.28319] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("canvas:material:shader_parameter/pc2") +tracks/3/interp = 2 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 2.5, 6), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector2(100, 1065), Vector2(115, 1070), Vector2(100, 1065)] +} + +[sub_resource type="Animation" id="Animation_dch6g"] +resource_name = "направление" +length = 3.6 + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_codoa"] +_data = { +"RESET": SubResource("Animation_vbwp0"), +"вращение": SubResource("Animation_wfwqs"), +"направление": SubResource("Animation_dch6g") +} + +[node name="canvas" type="Sprite2D"] +material = ExtResource("1_ow7xo") +position = Vector2(800, 596) +texture = SubResource("PlaceholderTexture2D_2bft1") +metadata/_edit_lock_ = true + +[node name="animator" type="AnimationPlayer" parent="."] +root_node = NodePath("../..") +libraries = { +"": SubResource("AnimationLibrary_codoa") +} + +[node name="прицел-табличка" type="Sprite2D" parent="."] +position = Vector2(-101, -176) +rotation = 6.28319 +texture = ExtResource("2_g47s7") + +[node name="отметка-бпла" type="Sprite2D" parent="."] +position = Vector2(-101, -176) +texture = ExtResource("3_bgvyj") + +[node name="отметка-корабль" type="Sprite2D" parent="."] +position = Vector2(-350, -103) +rotation = -2.09439 +texture = ExtResource("4_wasyy") + +[node name="кораблик" type="Sprite2D" parent="."] +position = Vector2(-192, 3) +scale = Vector2(0.25, 0.25) +texture = ExtResource("5_1y104") + +[node name="отметка_ракета" type="Sprite2D" parent="."] +position = Vector2(-130, 19) +rotation = -1.309 +texture = ExtResource("6_mvioa") + +[node name="отметка_неопред" type="Sprite2D" parent="."] +position = Vector2(-200, -191) +texture = ExtResource("7_6ag6n") + +[node name="прицел-сопровождение-3" type="Sprite2D" parent="."] +position = Vector2(-500, -200) +texture = ExtResource("8_l63ig") + +[node name="прицел-сопровождение-1" type="Sprite2D" parent="."] +position = Vector2(-200, 400) +texture = ExtResource("8_l63ig") + +[node name="номер-цели-3" type="Label" parent="."] +offset_left = -517.0 +offset_top = -248.0 +offset_right = -477.0 +offset_bottom = -226.0 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 2 +text = "3" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="номер-цели-2" type="Label" parent="."] +z_index = 1 +offset_left = -120.0 +offset_top = -212.0 +offset_right = -80.0 +offset_bottom = -190.0 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 2 +text = "2" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="номер-цели-1" type="Label" parent="."] +offset_left = -219.0 +offset_top = 357.0 +offset_right = -179.0 +offset_bottom = 379.0 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 2 +text = "1" +horizontal_alignment = 1 +vertical_alignment = 1 diff --git a/scenes/tab_switch.tscn b/scenes/tab_switch.tscn new file mode 100644 index 0000000..8ff7786 --- /dev/null +++ b/scenes/tab_switch.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=3 format=3 uid="uid://3slb0i3pvowc"] + +[ext_resource type="PackedScene" uid="uid://b276iygic5itk" path="res://scenes/работа.tscn" id="1_jjcv4"] +[ext_resource type="PackedScene" uid="uid://lwmw4egynmd1" path="res://scenes/контроль.tscn" id="2_h2mc4"] + +[node name="tab_switch" type="TabContainer"] +offset_top = -2.0 +offset_right = 1600.0 +offset_bottom = 1200.0 + +[node name="работа" parent="." instance=ExtResource("1_jjcv4")] +layout_mode = 2 + +[node name="контроль" parent="." instance=ExtResource("2_h2mc4")] +visible = false +layout_mode = 2 diff --git a/scenes/wnd_stc.tscn b/scenes/wnd_stc.tscn new file mode 100644 index 0000000..c650632 --- /dev/null +++ b/scenes/wnd_stc.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=2 format=3 uid="uid://w6ta0ck1bedl"] + +[ext_resource type="PackedScene" uid="uid://cbfp6bylx8g4i" path="res://tab_container_stc.tscn" id="1_c76qk"] + +[node name="wnd_stc" type="Window"] +initial_position = 3 +size = Vector2i(1600, 1200) +mode = 3 +current_screen = 1 +borderless = true + +[node name="TabContainer" parent="." instance=ExtResource("1_c76qk")] diff --git a/scenes/работа.gd b/scenes/работа.gd index f7a31b0..e7b851e 100644 --- a/scenes/работа.gd +++ b/scenes/работа.gd @@ -25,18 +25,23 @@ tbl_celi.set_columns_min_size(CELI_COLUMNS_SIZE) """ const RADIO_GROUPE_NAMES = \ ['btn_off', 'btn_p4', 'btn_p5', 'btn_p6', 'btn_p7', 'btn_p8', 'btn_p9', 'btn_p10', 'btn_p11', 'btn_p12', - 'btn_p13', 'btn_p14', 'btn_p15', 'btn_p16', 'btn_auto'] + 'btn_p13', 'btn_p14', 'btn_p15', 'btn_p16', 'btn_auto_rfi'] +enum DRAG_FSM { IDLE, DRAG } var radio_groupe: Array -var band_ants = [10, 10, 10] - +var drag_pos_begin: Vector2 +var drag_pos_end: Vector2 +var drag_fsm: DRAG_FSM +var drag_button: MouseButton +var pc0: Vector2 +var ant_dir_width_begin: float # Called when the node enters the scene tree for the first time. func _ready(): - $canvas.material.set('shader_parameter/band_ants', band_ants) - $animator.play('вращение') - $ramka_rezhim/btn_off.set_pressed(true) - var nodes = $ramka_rezhim.get_children() + $canvas/animator.play('вращение') + $'рамка-режим/btn_off'.set_pressed(true) + var nodes = $'рамка-режим'.get_children() + pc0 = $canvas.material.get('shader_parameter/pc0') for btn in nodes: if btn.name in RADIO_GROUPE_NAMES: radio_groupe.append(btn) @@ -46,15 +51,7 @@ func _ready(): func _on_button_pressed(btn): # поведение радиокнопок в группе for btn0 in radio_groupe: - if btn0 != btn: - btn0.set_pressed(false) - else: - btn0.set_pressed(true) - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -func _process(delta): - pass + btn0.set_pressed(btn0 == btn) func hypot(x: float, y: float) -> float: @@ -63,20 +60,46 @@ func hypot(x: float, y: float) -> float: func map_xy_ang(pos0: Vector2, pos: Vector2) -> Vector2: """ Преобразует декартовые координаты в полярные """ - var x1: float = pos.x - pos0.x - var y1: float = pos.y - pos0.y + var x1: float = pos.x - pos0.x + var y1: float = pos.y - pos0.y var ang: float = (atan2(y1, x1) * 180.0) / PI ang += 360.0 * float(ang < 0.0) var radius: float = hypot(x1, y1) return Vector2(ang, radius) -func _input(event): - if event is InputEventMouseButton: - if not event.pressed: - return - var radp: Vector2 = map_xy_ang(Vector2(600, 600), event.position) - if radp.y < 600: - $canvas/"направление-1".rotation_degrees = radp.x - $canvas.material.set('shader_parameter/sec_var', radp.x) +func set_ant_width(position: Vector2): + var radp: Vector2 = map_xy_ang(pc0, position) + var ant_dir_width: float = ant_dir_width_begin + (drag_pos_begin.y - position.y) / 5.0 + if ant_dir_width < 5.0: + ant_dir_width = 5.0 + if ant_dir_width > 90.0: + ant_dir_width = 90.0 + $canvas.material.set('shader_parameter/ap_ant_w', ant_dir_width) + +func set_ant_dir(position: Vector2): + var radp: Vector2 = map_xy_ang(pc0, position) + if radp.y < 600: + $canvas.material.set('shader_parameter/sec_var', radp.x) + + +func _input(event): + if event is InputEventMouseMotion: + if drag_fsm == DRAG_FSM.DRAG: + if drag_button == MOUSE_BUTTON_RIGHT: + set_ant_width(event.position) + elif drag_button == MOUSE_BUTTON_LEFT: + set_ant_dir(event.position) + if event is InputEventMouseButton: + drag_button = event.button_index + if event.pressed: + if drag_fsm == DRAG_FSM.IDLE: + drag_fsm = DRAG_FSM.DRAG + drag_pos_begin = event.position + if drag_button == MOUSE_BUTTON_LEFT: + set_ant_dir(event.position) + elif drag_button == MOUSE_BUTTON_RIGHT: + set_ant_width(event.position) + else: + drag_fsm = DRAG_FSM.IDLE diff --git a/scenes/работа.tscn b/scenes/работа.tscn index 7fbfec0..3b61bb8 100644 --- a/scenes/работа.tscn +++ b/scenes/работа.tscn @@ -1,394 +1,172 @@ -[gd_scene load_steps=19 format=3 uid="uid://b276iygic5itk"] +[gd_scene load_steps=6 format=3 uid="uid://b276iygic5itk"] [ext_resource type="Script" path="res://scenes/работа.gd" id="1_6kl7p"] -[ext_resource type="Material" uid="uid://s6xe8igevnv2" path="res://shaders/shader_edu.tres" id="2_0si15"] -[ext_resource type="Texture2D" uid="uid://bq67yytxgoopq" path="res://data/мп550-работа-эскиз.png" id="3_nik2j"] -[ext_resource type="Script" path="res://canvas.gd" id="4_2ljcb"] -[ext_resource type="Texture2D" uid="uid://dmty3bpego2pi" path="res://data/направление-0.png" id="6_1xax4"] -[ext_resource type="Texture2D" uid="uid://b3woliae871je" path="res://data/отметка-неопред.png" id="7_mpmxv"] -[ext_resource type="Texture2D" uid="uid://biy3dmtuefrqe" path="res://data/отметка-ракета.png" id="8_rxm12"] -[ext_resource type="Texture2D" uid="uid://b8ern67qnb5ky" path="res://data/кораблик-22800.png" id="10_tjuel"] +[ext_resource type="PackedScene" uid="uid://b5kjdyxuwsot5" path="res://scenes/canvas.tscn" id="2_jfiel"] [ext_resource type="PackedScene" uid="uid://bq7haw1ypiv48" path="res://scenes/frame.tscn" id="11_pmacq"] [ext_resource type="PackedScene" uid="uid://da7w3vkhadfwe" path="res://scenes/button-flat.tscn" id="12_pcemc"] -[ext_resource type="Texture2D" uid="uid://ccgavrtpkd56i" path="res://data/прицел-сопровождение.png" id="13_8d4hs"] -[ext_resource type="Texture2D" uid="uid://6qqcqds5majk" path="res://data/отметка-бпла.png" id="14_5c3r6"] -[ext_resource type="Texture2D" uid="uid://bibsq2uejlm0s" path="res://data/отметка-корабль.png" id="14_303ga"] -[ext_resource type="Texture2D" uid="uid://cqu18m05sdl5w" path="res://data/прицел-табличка.png" id="15_8tuwk"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5ugj8"] -[sub_resource type="Animation" id="Animation_vbwp0"] -length = 0.001 -loop_mode = 1 - -[sub_resource type="Animation" id="Animation_wfwqs"] -resource_name = "вращение" -length = 6.0 -loop_mode = 1 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("canvas/прицел-сопровождение-3:rotation") -tracks/0/interp = 1 -tracks/0/loop_wrap = false -tracks/0/keys = { -"times": PackedFloat32Array(0, 3, 6), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 0, -"values": [0.0, 6.28319, 12.5664] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("canvas/прицел-сопровождение-1:rotation") -tracks/1/interp = 1 -tracks/1/loop_wrap = false -tracks/1/keys = { -"times": PackedFloat32Array(0, 3, 6), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 0, -"values": [0.0, 6.28319, 12.5664] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("canvas/прицел-табличка:rotation") -tracks/2/interp = 1 -tracks/2/loop_wrap = false -tracks/2/keys = { -"times": PackedFloat32Array(0, 3, 6), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 0, -"values": [6.28319, 0.0, -6.28319] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("canvas:material:shader_parameter/pc2") -tracks/3/interp = 2 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0, 2.5, 6), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 0, -"values": [Vector2(100, 1065), Vector2(115, 1070), Vector2(100, 1065)] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_codoa"] -_data = { -"RESET": SubResource("Animation_vbwp0"), -"вращение": SubResource("Animation_wfwqs") -} - [node name="Работа" type="Panel"] script = ExtResource("1_6kl7p") -[node name="canvas" type="Sprite2D" parent="."] -material = ExtResource("2_0si15") -position = Vector2(800, 596) -texture = ExtResource("3_nik2j") -script = ExtResource("4_2ljcb") -metadata/_edit_lock_ = true +[node name="canvas" parent="." instance=ExtResource("2_jfiel")] -[node name="прицел-табличка" type="Sprite2D" parent="canvas"] -position = Vector2(-101, -176) -rotation = 6.28319 -texture = ExtResource("15_8tuwk") - -[node name="отметка-бпла" type="Sprite2D" parent="canvas"] -position = Vector2(-101, -176) -texture = ExtResource("14_5c3r6") - -[node name="направление-1" type="Sprite2D" parent="canvas"] -modulate = Color(1, 1, 1, 0.454902) -position = Vector2(-208, -7) -texture = ExtResource("6_1xax4") -offset = Vector2(290, -6) - -[node name="отметка-корабль" type="Sprite2D" parent="canvas"] -position = Vector2(-350, -103) -rotation = -2.09439 -texture = ExtResource("14_303ga") - -[node name="кораблик" type="Sprite2D" parent="canvas"] -position = Vector2(-210, -11) -scale = Vector2(0.25, 0.25) -texture = ExtResource("10_tjuel") - -[node name="отметка_ракета" type="Sprite2D" parent="canvas"] -position = Vector2(-130, 19) -rotation = -1.309 -texture = ExtResource("8_rxm12") - -[node name="отметка_неопред" type="Sprite2D" parent="canvas"] -position = Vector2(-200, -191) -texture = ExtResource("7_mpmxv") - -[node name="прицел-сопровождение-3" type="Sprite2D" parent="canvas"] -position = Vector2(-500, -200) -texture = ExtResource("13_8d4hs") - -[node name="прицел-сопровождение-1" type="Sprite2D" parent="canvas"] -position = Vector2(-200, 400) -texture = ExtResource("13_8d4hs") - -[node name="номер-цели-3" type="Label" parent="canvas"] -offset_left = -517.0 -offset_top = -248.0 -offset_right = -477.0 -offset_bottom = -226.0 -theme_override_colors/font_outline_color = Color(0, 0, 0, 1) -theme_override_constants/outline_size = 2 -text = "3" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="номер-цели-2" type="Label" parent="canvas"] -z_index = 1 -offset_left = -120.0 -offset_top = -212.0 -offset_right = -80.0 -offset_bottom = -190.0 -theme_override_colors/font_outline_color = Color(0, 0, 0, 1) -theme_override_constants/outline_size = 2 -text = "2" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="номер-цели-1" type="Label" parent="canvas"] -offset_left = -219.0 -offset_top = 357.0 -offset_right = -179.0 -offset_bottom = 379.0 -theme_override_colors/font_outline_color = Color(0, 0, 0, 1) -theme_override_constants/outline_size = 2 -text = "1" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="ramka_rezhim" parent="." instance=ExtResource("11_pmacq")] +[node name="рамка-режим" parent="." instance=ExtResource("11_pmacq")] layout_mode = 0 offset_left = 1180.0 -offset_top = 722.0 +offset_top = 892.0 offset_right = 1589.0 -offset_bottom = 1142.0 +offset_bottom = 1162.0 text = "Режим помехи" -[node name="btn_off" parent="ramka_rezhim" instance=ExtResource("12_pcemc")] -layout_mode = 1 -anchors_preset = -1 -anchor_top = 0.052 -anchor_right = 1.0 -anchor_bottom = 1.0 +[node name="btn_off" parent="рамка-режим" instance=ExtResource("12_pcemc")] +layout_mode = 0 offset_left = 10.0 -offset_top = 8.16 -offset_right = -309.0 -offset_bottom = -310.0 +offset_top = 30.0 +offset_right = 100.0 +offset_bottom = 80.0 text = "Откл" -[node name="btn_p4" parent="ramka_rezhim" instance=ExtResource("12_pcemc")] -layout_mode = 1 -anchors_preset = -1 -anchor_top = 0.052 -anchor_right = 1.0 -anchor_bottom = 1.0 +[node name="btn_p4" parent="рамка-режим" instance=ExtResource("12_pcemc")] +layout_mode = 0 offset_left = 110.0 -offset_top = 298.16 -offset_right = -209.0 -offset_bottom = -10.0 -grow_horizontal = 2 -grow_vertical = 2 +offset_top = 210.0 +offset_right = 200.0 +offset_bottom = 260.0 text = "13" -[node name="btn_p5" parent="ramka_rezhim" instance=ExtResource("12_pcemc")] +[node name="btn_p5" parent="рамка-режим" instance=ExtResource("12_pcemc")] layout_mode = 1 anchors_preset = -1 -anchor_top = 0.052 -anchor_right = 1.0 -anchor_bottom = 1.0 offset_left = 10.0 -offset_top = 298.16 -offset_right = -309.0 -offset_bottom = -10.0 +offset_top = 210.0 +offset_right = 100.0 +offset_bottom = 260.0 grow_horizontal = 2 grow_vertical = 2 text = "12" -[node name="btn_p6" parent="ramka_rezhim" instance=ExtResource("12_pcemc")] -layout_mode = 1 -anchors_preset = -1 -anchor_top = 0.052 -anchor_right = 1.0 -anchor_bottom = 1.0 +[node name="btn_p6" parent="рамка-режим" instance=ExtResource("12_pcemc")] +layout_mode = 0 offset_left = 210.0 -offset_top = 198.16 -offset_right = -109.0 -offset_bottom = -110.0 -grow_horizontal = 2 -grow_vertical = 2 +offset_top = 150.0 +offset_right = 300.0 +offset_bottom = 200.0 text = "10" -[node name="btn_p7" parent="ramka_rezhim" instance=ExtResource("12_pcemc")] -layout_mode = 1 -anchors_preset = -1 -anchor_top = 0.052 -anchor_right = 1.0 -anchor_bottom = 1.0 +[node name="btn_p7" parent="рамка-режим" instance=ExtResource("12_pcemc")] +layout_mode = 0 offset_left = 310.0 -offset_top = 198.16 -offset_right = -10.0 -offset_bottom = -110.0 -grow_horizontal = 2 -grow_vertical = 2 +offset_top = 150.0 +offset_right = 400.0 +offset_bottom = 200.0 text = "11" -[node name="btn_p8" parent="ramka_rezhim" instance=ExtResource("12_pcemc")] -layout_mode = 1 -anchors_preset = -1 -anchor_top = 0.052 -anchor_right = 1.0 -anchor_bottom = 1.0 +[node name="btn_p8" parent="рамка-режим" instance=ExtResource("12_pcemc")] +layout_mode = 0 offset_left = 110.0 -offset_top = 198.16 -offset_right = -209.0 -offset_bottom = -110.0 -grow_horizontal = 2 -grow_vertical = 2 +offset_top = 150.0 +offset_right = 200.0 +offset_bottom = 200.0 text = "9" -[node name="btn_p9" parent="ramka_rezhim" instance=ExtResource("12_pcemc")] -layout_mode = 1 -anchors_preset = -1 -anchor_top = 0.052 -anchor_right = 1.0 -anchor_bottom = 1.0 +[node name="btn_p9" parent="рамка-режим" instance=ExtResource("12_pcemc")] +layout_mode = 0 offset_left = 10.0 -offset_top = 198.16 -offset_right = -309.0 -offset_bottom = -110.0 -grow_horizontal = 2 -grow_vertical = 2 +offset_top = 150.0 +offset_right = 100.0 +offset_bottom = 200.0 text = "8" -[node name="btn_p10" parent="ramka_rezhim" instance=ExtResource("12_pcemc")] +[node name="btn_p10" parent="рамка-режим" instance=ExtResource("12_pcemc")] layout_mode = 1 anchors_preset = -1 -anchor_top = 0.052 -anchor_right = 1.0 -anchor_bottom = 1.0 offset_left = 310.0 -offset_top = 98.16 -offset_right = -10.0 -offset_bottom = -210.0 +offset_top = 90.0 +offset_right = 399.0 +offset_bottom = 140.0 grow_horizontal = 2 grow_vertical = 2 text = "7" -[node name="btn_p11" parent="ramka_rezhim" instance=ExtResource("12_pcemc")] -layout_mode = 1 -anchors_preset = -1 -anchor_top = 0.048 -anchor_right = 1.0 -anchor_bottom = 1.0 +[node name="btn_p11" parent="рамка-режим" instance=ExtResource("12_pcemc")] +layout_mode = 0 offset_left = 310.0 -offset_top = 9.84 -offset_right = -10.0 -offset_bottom = -310.0 -grow_horizontal = 2 -grow_vertical = 2 +offset_top = 30.0 +offset_right = 399.0 +offset_bottom = 80.0 text = "3" -[node name="btn_p12" parent="ramka_rezhim" instance=ExtResource("12_pcemc")] +[node name="btn_p12" parent="рамка-режим" instance=ExtResource("12_pcemc")] layout_mode = 1 anchors_preset = -1 -anchor_top = 0.052 -anchor_right = 1.0 -anchor_bottom = 1.0 offset_left = 10.0 -offset_top = 98.16 -offset_right = -309.0 -offset_bottom = -210.0 +offset_top = 90.0 +offset_right = 100.0 +offset_bottom = 140.0 grow_horizontal = 2 grow_vertical = 2 text = "4" -[node name="btn_p13" parent="ramka_rezhim" instance=ExtResource("12_pcemc")] +[node name="btn_p13" parent="рамка-режим" instance=ExtResource("12_pcemc")] layout_mode = 1 anchors_preset = -1 -anchor_top = 0.052 -anchor_right = 1.0 -anchor_bottom = 1.0 offset_left = 110.0 -offset_top = 98.16 -offset_right = -209.0 -offset_bottom = -210.0 +offset_top = 90.0 +offset_right = 200.0 +offset_bottom = 140.0 grow_horizontal = 2 grow_vertical = 2 text = "5" -[node name="btn_p14" parent="ramka_rezhim" instance=ExtResource("12_pcemc")] +[node name="btn_p14" parent="рамка-режим" instance=ExtResource("12_pcemc")] layout_mode = 1 anchors_preset = -1 -anchor_top = 0.052 -anchor_right = 1.0 -anchor_bottom = 1.0 offset_left = 210.0 -offset_top = 98.16 -offset_right = -109.0 -offset_bottom = -210.0 +offset_top = 90.0 +offset_right = 300.0 +offset_bottom = 140.0 grow_horizontal = 2 grow_vertical = 2 text = "6" -[node name="btn_p15" parent="ramka_rezhim" instance=ExtResource("12_pcemc")] +[node name="btn_p15" parent="рамка-режим" instance=ExtResource("12_pcemc")] layout_mode = 1 anchors_preset = -1 -anchor_top = 0.052 -anchor_right = 1.0 -anchor_bottom = 1.0 offset_left = 210.0 -offset_top = 8.16 -offset_right = -109.0 -offset_bottom = -310.0 +offset_top = 30.0 +offset_right = 300.0 +offset_bottom = 80.0 grow_horizontal = 2 grow_vertical = 2 text = "2" -[node name="btn_p16" parent="ramka_rezhim" instance=ExtResource("12_pcemc")] -layout_mode = 1 -anchors_preset = -1 -anchor_top = 0.052 -anchor_right = 1.0 -anchor_bottom = 1.0 +[node name="btn_p16" parent="рамка-режим" instance=ExtResource("12_pcemc")] +layout_mode = 0 offset_left = 110.0 -offset_top = 8.16 -offset_right = -209.0 -offset_bottom = -310.0 +offset_top = 30.0 +offset_right = 200.0 +offset_bottom = 80.0 text = "1" -[node name="btn_auto_rfi" parent="ramka_rezhim" instance=ExtResource("12_pcemc")] -layout_mode = 1 -anchors_preset = -1 -anchor_top = 0.052 -anchor_right = 1.0 -anchor_bottom = 1.0 +[node name="btn_auto_rfi" parent="рамка-режим" instance=ExtResource("12_pcemc")] +layout_mode = 0 offset_left = 210.0 -offset_top = 298.16 -offset_right = -10.0 -offset_bottom = -10.0 -grow_horizontal = 2 -grow_vertical = 2 +offset_top = 210.0 +offset_right = 400.0 +offset_bottom = 260.0 text = "Автоматически" -[node name="ramka_celi" parent="." instance=ExtResource("11_pmacq")] +[node name="рамка-цели" parent="." instance=ExtResource("11_pmacq")] layout_mode = 0 offset_left = 1180.0 -offset_top = 372.0 +offset_top = 547.0 offset_right = 1589.0 -offset_bottom = 712.0 +offset_bottom = 887.0 text = "Параметры цели" -[node name="tbl_celi" type="GridContainer" parent="ramka_celi"] +[node name="tbl_celi" type="GridContainer" parent="рамка-цели"] layout_mode = 1 anchors_preset = -1 anchor_left = 0.012 @@ -401,7 +179,7 @@ offset_right = 0.0899658 offset_bottom = 0.0999756 columns = 2 -[node name="hdr_col0" type="Label" parent="ramka_celi/tbl_celi"] +[node name="hdr_col0" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -410,7 +188,7 @@ theme_override_styles/normal = SubResource("StyleBoxFlat_5ugj8") text = "Параметр" horizontal_alignment = 1 -[node name="hdr_col1" type="Label" parent="ramka_celi/tbl_celi"] +[node name="hdr_col1" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -419,14 +197,14 @@ theme_override_styles/normal = SubResource("StyleBoxFlat_5ugj8") text = "Значение" horizontal_alignment = 1 -[node name="node_00_00" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_00_00" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Курсовой угол" -[node name="node_00_01" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_00_01" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -434,14 +212,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "90" horizontal_alignment = 1 -[node name="node_01_00" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_01_00" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Частота, МГЦ" -[node name="node_01_01" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_01_01" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -449,14 +227,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "2600" horizontal_alignment = 1 -[node name="node_02_00" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_02_00" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Тип модуляции" -[node name="node_02_01" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_02_01" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -464,14 +242,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "qam256" horizontal_alignment = 1 -[node name="node_03_00" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_03_00" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Ширина диапазона, МГц" -[node name="node_03_01" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_03_01" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -479,14 +257,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "2.5" horizontal_alignment = 1 -[node name="node_04_00" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_04_00" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Мощность, дБ" -[node name="node_04_01" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_04_01" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -494,14 +272,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "43" horizontal_alignment = 1 -[node name="node_05_00" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_05_00" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Время обновления" -[node name="node_05_01" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_05_01" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -509,14 +287,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "20:23:04" horizontal_alignment = 1 -[node name="node_06_00" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_06_00" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Режим перестройки" -[node name="node_06_01" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_06_01" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -524,14 +302,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "ЛЧМ" horizontal_alignment = 1 -[node name="node_07_00" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_07_00" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Скорость данных, бит/с" -[node name="node_07_01" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_07_01" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -539,14 +317,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "1.8М" horizontal_alignment = 1 -[node name="node_08_00" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_08_00" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Протокол" -[node name="node_08_01" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_08_01" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -554,14 +332,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "solo7" horizontal_alignment = 1 -[node name="node_09_00" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_09_00" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Высота, м" -[node name="node_09_01" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_09_01" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -569,14 +347,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "128" horizontal_alignment = 1 -[node name="node_10_00" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_10_00" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Номер" -[node name="node_10_01" type="Label" parent="ramka_celi/tbl_celi"] +[node name="node_10_01" type="Label" parent="рамка-цели/tbl_celi"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -584,15 +362,15 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "2" horizontal_alignment = 1 -[node name="ramka_obschie" parent="." instance=ExtResource("11_pmacq")] +[node name="рамка-общие" parent="." instance=ExtResource("11_pmacq")] layout_mode = 0 offset_left = 1180.0 -offset_top = 6.0 +offset_top = 276.0 offset_right = 1589.0 -offset_bottom = 161.0 +offset_bottom = 431.0 text = "Общее" -[node name="tbl_obschie" type="GridContainer" parent="ramka_obschie"] +[node name="tbl_obschie" type="GridContainer" parent="рамка-общие"] layout_mode = 1 anchors_preset = -1 anchor_left = 0.012 @@ -605,14 +383,14 @@ offset_right = 0.0899963 offset_bottom = 0.324997 columns = 2 -[node name="node_00_00" type="Label" parent="ramka_obschie/tbl_obschie"] +[node name="node_00_00" type="Label" parent="рамка-общие/tbl_obschie"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Курс" -[node name="node_00_01" type="Label" parent="ramka_obschie/tbl_obschie"] +[node name="node_00_01" type="Label" parent="рамка-общие/tbl_obschie"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -621,14 +399,14 @@ text = "222 " horizontal_alignment = 1 -[node name="node_01_00" type="Label" parent="ramka_obschie/tbl_obschie"] +[node name="node_01_00" type="Label" parent="рамка-общие/tbl_obschie"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Скорость, узлы" -[node name="node_01_01" type="Label" parent="ramka_obschie/tbl_obschie"] +[node name="node_01_01" type="Label" parent="рамка-общие/tbl_obschie"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -636,14 +414,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "10" horizontal_alignment = 1 -[node name="node_02_00" type="Label" parent="ramka_obschie/tbl_obschie"] +[node name="node_02_00" type="Label" parent="рамка-общие/tbl_obschie"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Время" -[node name="node_02_01" type="Label" parent="ramka_obschie/tbl_obschie"] +[node name="node_02_01" type="Label" parent="рамка-общие/tbl_obschie"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -651,14 +429,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "20:24:06" horizontal_alignment = 1 -[node name="node_03_00" type="Label" parent="ramka_obschie/tbl_obschie"] +[node name="node_03_00" type="Label" parent="рамка-общие/tbl_obschie"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Направление ветра" -[node name="node_03_01" type="Label" parent="ramka_obschie/tbl_obschie"] +[node name="node_03_01" type="Label" parent="рамка-общие/tbl_obschie"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -666,14 +444,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "310" horizontal_alignment = 1 -[node name="node_04_00" type="Label" parent="ramka_obschie/tbl_obschie"] +[node name="node_04_00" type="Label" parent="рамка-общие/tbl_obschie"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Скорость ветра, м/с" -[node name="node_04_01" type="Label" parent="ramka_obschie/tbl_obschie"] +[node name="node_04_01" type="Label" parent="рамка-общие/tbl_obschie"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -681,27 +459,26 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "3" horizontal_alignment = 1 -[node name="ramka_seansy" parent="." instance=ExtResource("11_pmacq")] +[node name="рамка-сеансы" parent="." instance=ExtResource("11_pmacq")] layout_mode = 0 offset_left = 1180.0 -offset_top = 171.0 +offset_top = 436.0 offset_right = 1589.0 -offset_bottom = 363.0 +offset_bottom = 543.0 text = "Сеансы помех" -[node name="tbl_seansy" type="GridContainer" parent="ramka_seansy"] +[node name="tbl_seansy" type="GridContainer" parent="рамка-сеансы"] layout_mode = 1 anchors_preset = -1 -anchor_left = 0.012 anchor_top = 0.115 -anchor_right = 0.99 -anchor_bottom = 0.985 -offset_left = 0.092 -offset_top = 5.0 -offset_right = 0.0899963 +anchor_bottom = 0.115 +offset_left = 5.0 +offset_top = 15.695 +offset_right = 405.0 +offset_bottom = 90.695 columns = 3 -[node name="hdr_col0" type="Label" parent="ramka_seansy/tbl_seansy"] +[node name="hdr_col0" type="Label" parent="рамка-сеансы/tbl_seansy"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -710,7 +487,7 @@ theme_override_styles/normal = SubResource("StyleBoxFlat_5ugj8") text = "Индекс сеанса" horizontal_alignment = 1 -[node name="hdr_col1" type="Label" parent="ramka_seansy/tbl_seansy"] +[node name="hdr_col1" type="Label" parent="рамка-сеансы/tbl_seansy"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -719,7 +496,7 @@ theme_override_styles/normal = SubResource("StyleBoxFlat_5ugj8") text = "Номер цели" horizontal_alignment = 1 -[node name="hdr_col2" type="Label" parent="ramka_seansy/tbl_seansy"] +[node name="hdr_col2" type="Label" parent="рамка-сеансы/tbl_seansy"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -728,7 +505,7 @@ theme_override_styles/normal = SubResource("StyleBoxFlat_5ugj8") text = "Режим помехи" horizontal_alignment = 1 -[node name="node_00_00" type="Label" parent="ramka_seansy/tbl_seansy"] +[node name="node_00_00" type="Label" parent="рамка-сеансы/tbl_seansy"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -736,7 +513,7 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "1" horizontal_alignment = 1 -[node name="node_00_01" type="Label" parent="ramka_seansy/tbl_seansy"] +[node name="node_00_01" type="Label" parent="рамка-сеансы/tbl_seansy"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -744,7 +521,7 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "3" horizontal_alignment = 1 -[node name="node_00_02" type="Label" parent="ramka_seansy/tbl_seansy"] +[node name="node_00_02" type="Label" parent="рамка-сеансы/tbl_seansy"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -752,7 +529,7 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "СРН-И1" horizontal_alignment = 1 -[node name="node_01_00" type="Label" parent="ramka_seansy/tbl_seansy"] +[node name="node_01_00" type="Label" parent="рамка-сеансы/tbl_seansy"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -760,7 +537,7 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "2" horizontal_alignment = 1 -[node name="node_01_01" type="Label" parent="ramka_seansy/tbl_seansy"] +[node name="node_01_01" type="Label" parent="рамка-сеансы/tbl_seansy"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -768,7 +545,7 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "1" horizontal_alignment = 1 -[node name="node_01_02" type="Label" parent="ramka_seansy/tbl_seansy"] +[node name="node_01_02" type="Label" parent="рамка-сеансы/tbl_seansy"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -776,7 +553,7 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "ПД-М4С" horizontal_alignment = 1 -[node name="lbl_kachka" type="Label" parent="."] +[node name="надпись-качка" type="Label" parent="."] layout_mode = 0 offset_left = 87.0 offset_top = 954.0 @@ -806,14 +583,15 @@ text = "-45" horizontal_alignment = 1 vertical_alignment = 1 -[node name="ramka_pomeha" parent="." instance=ExtResource("11_pmacq")] +[node name="рамка-помеха" parent="." instance=ExtResource("11_pmacq")] layout_mode = 0 -offset_left = 1650.0 -offset_right = 2059.0 -offset_bottom = 265.0 +offset_left = 1180.0 +offset_top = 6.0 +offset_right = 1589.0 +offset_bottom = 271.0 text = "Параметры помехи" -[node name="tbl_pomeha" type="GridContainer" parent="ramka_pomeha"] +[node name="tbl_pomeha" type="GridContainer" parent="рамка-помеха"] layout_mode = 1 anchors_preset = -1 anchor_left = 0.012 @@ -826,7 +604,7 @@ offset_right = 0.0899658 offset_bottom = -0.0250244 columns = 2 -[node name="hdr_col0" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="hdr_col0" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -835,7 +613,7 @@ theme_override_styles/normal = SubResource("StyleBoxFlat_5ugj8") text = "Параметр" horizontal_alignment = 1 -[node name="hdr_col1" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="hdr_col1" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -844,14 +622,14 @@ theme_override_styles/normal = SubResource("StyleBoxFlat_5ugj8") text = "Значение" horizontal_alignment = 1 -[node name="node_00_00" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_00_00" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Индекс сеанса" -[node name="node_00_01" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_00_01" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -859,14 +637,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "1" horizontal_alignment = 1 -[node name="node_01_00" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_01_00" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Курсовой угол" -[node name="node_01_01" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_01_01" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -874,14 +652,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "43" horizontal_alignment = 1 -[node name="node_02_00" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_02_00" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Частота, МГЦ" -[node name="node_02_01" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_02_01" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -889,14 +667,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "2600" horizontal_alignment = 1 -[node name="node_03_00" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_03_00" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Диапазон, МГЦ" -[node name="node_03_01" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_03_01" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -904,14 +682,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "80" horizontal_alignment = 1 -[node name="node_04_00" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_04_00" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Режим" -[node name="node_04_01" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_04_01" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -919,14 +697,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "СРН-М2" horizontal_alignment = 1 -[node name="node_05_00" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_05_00" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Мощность" -[node name="node_05_01" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_05_01" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -934,14 +712,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "2.5" horizontal_alignment = 1 -[node name="node_06_00" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_06_00" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Угол места" -[node name="node_06_01" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_06_01" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -949,14 +727,14 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "5" horizontal_alignment = 1 -[node name="node_07_00" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_07_00" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "Режим перестройки" -[node name="node_07_01" type="Label" parent="ramka_pomeha/tbl_pomeha"] +[node name="node_07_01" type="Label" parent="рамка-помеха/tbl_pomeha"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 size_flags_horizontal = 3 @@ -964,24 +742,19 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "ЛЧМ" horizontal_alignment = 1 -[node name="animator" type="AnimationPlayer" parent="."] -libraries = { -"": SubResource("AnimationLibrary_codoa") -} - [node name="btn_auto_threat" parent="." instance=ExtResource("12_pcemc")] layout_mode = 0 -offset_left = 978.0 -offset_top = 1042.0 -offset_right = 1167.0 -offset_bottom = 1132.0 +offset_left = 983.0 +offset_top = 1101.0 +offset_right = 1172.0 +offset_bottom = 1153.0 text = "Автоматически" [node name="надпись-выбор-цели" type="Label" parent="."] layout_mode = 2 -offset_left = 978.0 -offset_top = 1020.0 -offset_right = 1167.0 -offset_bottom = 1042.0 +offset_left = 983.0 +offset_top = 1076.0 +offset_right = 1172.0 +offset_bottom = 1098.0 text = "Выбор цели" horizontal_alignment = 1 diff --git a/scenes/рамка.gd b/scenes/рамка.gd index 3231969..03609fb 100644 --- a/scenes/рамка.gd +++ b/scenes/рамка.gd @@ -15,4 +15,4 @@ extends NinePatchRect @export var text: String = 'caption text': get: return $header.text - set(text): $header.text = text + set(val): $header.text = val diff --git a/shaders/shader_edu.tres b/shaders/shader_edu.tres index 5506799..10e7979 100644 --- a/shaders/shader_edu.tres +++ b/shaders/shader_edu.tres @@ -3,49 +3,46 @@ [sub_resource type="Shader" id="1"] code = "shader_type canvas_item; -const float M_PI = 3.141592653589793; -/*const vec3 blue1 = vec3(0.42, 0.51, 0.55); -const vec3 blue2 = vec3(0.11, 0.21, 0.25); -const vec3 blue3 = vec3(0.35, 0.76, 0.83); -const vec3 blue4 = vec3(0.953, 0.969, 0.89); -const vec3 red = vec3(1.00, 0.38, 0.227); - -uniform vec4 blue1: source_color = vec4(0.4, 0.3, 0.3, 1.0); -uniform vec4 blue2: source_color = vec4(0.6, 0.5, 0.5, 1.0); -uniform vec4 blue3: source_color = vec4(0.8, 0.7, 0.7, 1.0); -uniform vec4 blue4: source_color = vec4(1.0, 0.9, 0.9, 1.0); -uniform vec4 red: source_color = vec4(1.0, 0.5, 0.3, 1.0); */ - uniform vec4 blue0: source_color = vec4(0.38, 0.47, 0.51, 1.0); uniform vec4 blue1: source_color = vec4(0.39, 0.44, 0.50, 1.0); -uniform vec4 blue2: source_color = vec4(0.11, 0.21, 0.25, 1.0); -uniform vec4 blue3: source_color = vec4(0.35, 0.76, 0.83, 1.0); -uniform vec4 blue4: source_color = vec4(0.953, 0.969, 0.89, 1.0); uniform vec4 red: source_color = vec4(1.00, 0.38, 0.227, 1.0); - -uniform float line_width = 2.0; -uniform float sec_forward = 180.0; -uniform float sec_back = 0.0; -uniform float sec_left = 90.0; -uniform float sec_right = 300.0; -uniform float d0 = 520.0; -uniform float d1 = 1120.0; -uniform float d2 = 1160.0; -uniform float d3 = 100.0; uniform float d4 = 180.0; -uniform float d5 = 650.0; -uniform float d6 = 800.0; -uniform float d7 = 950.0; -uniform vec2 pc0 = vec2(0, 0); -uniform vec2 pc1 = vec2(0, 0); -uniform vec2 pc2 = vec2(0, 0); -uniform float ap_ant_w = 12.0; -uniform vec2 tr0 = vec2(0, 0); -uniform vec2 tr1 = vec2(0, 0); -uniform vec2 tr2 = vec2(0, 0); +uniform vec2 pc0; +uniform vec2 pc1; +uniform vec2 pc2; +uniform vec2 tr0; +uniform vec2 tr1; +uniform vec2 tr2; uniform float sec_var = 0.0; +uniform float ap_ant_w = 12.0; + +#define ANTENNAS_GRID_SIZE 7 + +const float line_width = 2.0; +const float ant_band_count_0 = 2.0; +const float ant_band_count_1 = 2.0; +const float ant_band_count_2 = 2.0; +const float ant_band_count_3 = 2.0; +const float ant_band_count_4 = 2.0; +const float ant_band_count_5 = 2.0; +const float ant_band_count_6 = 2.0; + +const float ant_band_r0_0 = 200.0; +const float ant_band_r0_1 = 250.0; +const float ant_band_r0_2 = 300.0; +const float ant_band_r0_3 = 350.0; +const float ant_band_r0_4 = 400.0; +const float ant_band_r0_5 = 450.0; +const float ant_band_r0_6 = 500.0; + +const float ant_band_r1_0 = 250.0; +const float ant_band_r1_1 = 300.0; +const float ant_band_r1_2 = 350.0; +const float ant_band_r1_3 = 400.0; +const float ant_band_r1_4 = 450.0; +const float ant_band_r1_5 = 500.0; +const float ant_band_r1_6 = 550.0; -uniform int band_ants[3]; // количество антенн, радиус внутренний, радиус внешний, подстройка по углу float SMOOTH(float r, float R) { @@ -80,10 +77,10 @@ vec3 radar_scan_line(vec2 uv, vec2 center, float time, float radius, vec3 color) if (r < radius) { //compute the distance to the line theta=theta0 - vec2 p = radius * vec2(cos(theta0 * M_PI / 180.0), - sin(theta0 * M_PI / 180.0)); + vec2 p = radius * vec2(cos(theta0 * PI / 180.0), - sin(theta0 * PI / 180.0)); float l = length(d - p * clamp(dot(d, p) / dot(p, p), 0.0, 1.0)); //compute gradient based on angle difference to theta0 - float theta = mod(180.0 * atan(d.y, d.x) / M_PI + theta0, 360.0); + float theta = mod(180.0 * atan(d.y, d.x) / PI + theta0, 360.0); float gradient = clamp(1.0 - theta / 90.0, 0.0, 1.0); return color * SMOOTH(l, 1.0) + 0.5 * gradient * color; } @@ -112,8 +109,6 @@ void rotate_uv(inout vec2 uv, float a) uv.x = cos(a) * (uv.x - mid) + sin(a) * (uv.y - mid) + mid; uv.y = cos(a) * (uv.x - mid) - sin(a) * (uv.x - mid) + mid; } - - void sector2(inout vec3 c, vec2 uv, vec2 center, float a, float da, float r0, float r1, vec3 color) @@ -155,7 +150,7 @@ float circle3(vec2 uv, vec2 center, float radius, float width) vec2 d = uv - center; float r = sqrt(dot(d, d)); d = normalize(d); - float theta = 180.0 * (atan(d.y, d.x) / M_PI); + float theta = 180.0 * (atan(d.y, d.x) / PI); return smoothstep(2.0, 2.1, abs(mod(theta + 2.0, 45.0) - 2.0)) * mix(0.5, 1.0, step(45.0, abs(mod(theta, 180.0) - 90.0))) * (SMOOTH(r - width / 2.0, radius) - SMOOTH(r + width / 2.0, radius)); @@ -233,16 +228,16 @@ vec3 circle_h(inout vec3 c, vec2 uv, vec2 c0, float r, vec3 color) } -void antenas(inout vec3 c, vec2 uv, vec2 p0, int cnt, float r0, float r1, vec3 c0, vec3 c1, float a, float adj) +void antenas(inout vec3 c, vec2 uv, vec2 p0, float cnt, float r0, float r1, vec3 c0, vec3 c1, float a) { float da = 180.0f / float(cnt); c0 *= a; c1 *= a; - for (int i = -cnt; i <= cnt; i ++) + for (int i = int(-cnt); i <= int(cnt); i ++) { float v = float(i & 1); vec3 col = v * c0 + (1.0f - v) * c1; - sector(c, uv, p0, float(i) * da + adj, da, r0, r1, col); + sector(c, uv, p0, float(i) * da, da, r0, r1, col); } } @@ -260,7 +255,6 @@ void line(inout vec3 color, vec2 uv, vec2 p0, vec2 p1, vec3 c, float a) { vec2 d = uv - p0; float radius = distance(p0, p1); - float r = sqrt(dot(d, d)); float theta0 = acos(dot(normalize(p0), normalize(p1))); vec2 p = radius * vec2(cos(theta0), -sin(theta0)); float l = length(d - p * clamp(dot(d, p) / dot(p, p), 0.0, 1.0)); @@ -271,64 +265,47 @@ void line(inout vec3 color, vec2 uv, vec2 p0, vec2 p1, vec3 c, float a) void line_r(inout vec3 color, vec2 uv, vec2 center, float theta0, float radius, vec3 c, float a) { vec2 d = uv - center; - float r = sqrt(dot(d, d)); - vec2 p = radius * vec2(cos(theta0 * M_PI / 180.0), - sin(theta0 * M_PI / 180.0)); + vec2 p = radius * vec2(cos(theta0 * PI / 180.0), - sin(theta0 * PI / 180.0)); float l = length(d - p * clamp(dot(d, p) / dot(p, p), 0.0, 1.0)); color += c * SMOOTH(l, 1.0); } +/* Возвращает угол атаки в диапазоне 0...180 +для правого борта и -0...-180 для левого борта. +aoa - Угол в диапазоне 0...360 */ +float get_ang_atack(float aoa) +{ + if ((0.0 <= aoa) && (aoa < 180.0)) + return aoa; + else + return aoa - 360.0; +} + + void fragment() { ivec2 isz = textureSize(TEXTURE, 0); - vec2 uv = UV * vec2(float(isz.x), float(isz.y)); - vec3 rs = vec3(d2, d1, d0) / 2.0f; - COLOR = texture(TEXTURE, UV); + vec2 uv = UV * vec2(float(isz.x), float(isz.y)); // координаты текущей точки в пикселях + COLOR = vec4(0, 0, 0, 1.0); //texture(TEXTURE, UV); // Цвет текущей точки - // РТО - //circle_thin(COLOR.rgb, uv, pc0, d0 / 2.0, line_width, blue1.rgb, 1.0); - //circle_thin(COLOR.rgb, uv, pc0, d1 / 2.0, line_width, blue1.rgb, 1.0); - //circle_thin(COLOR.rgb, uv, pc0, d2 / 2.0, line_width, blue1.rgb, 1.0); - //circle_thin(COLOR.rgb, uv, pc0, d5 / 2.0, line_width, blue1.rgb, 0.5); - //circle_thin(COLOR.rgb, uv, pc0, d6 / 2.0, line_width, blue1.rgb, 0.5); - //circle_thin(COLOR.rgb, uv, pc0, d7 / 2.0, line_width, blue1.rgb, 0.5); - - //line_r(COLOR.rgb, uv, pc0, 45, 580, blue1.rgb, 1.0); - //line_r(COLOR.rgb, uv, pc0, 135, 580, blue1.rgb, 1.0); - //line_r(COLOR.rgb, uv, pc0, 225, 580, blue1.rgb, 1.0); - //line_r(COLOR.rgb, uv, pc0, 315, 580, blue1.rgb, 1.0); - - sector2(COLOR.rgb, uv, pc0, sec_var, ap_ant_w, 280, 580, red.rgb); - //sector(COLOR.rgb, uv, pc0, sec_back, ap_ant_w, 280, 580, red.rgb); - //sector(COLOR.rgb, uv, pc0, sec_left, ap_ant_w, 280, 580, red.rgb); - //sector(COLOR.rgb, uv, pc0, sec_right, ap_ant_w, 280, 580, red.rgb); - - //antenas(COLOR.rgb, uv, pc0, ants_count, d6 / 2.0, d7 / 2.0, blue0.rgb, blue1.rgb, 0.3, 7.5); - antenas(COLOR.rgb, uv, pc0, 2, 220, 280, blue1.rgb, blue0.rgb, 0.4, 0); - antenas(COLOR.rgb, uv, pc0, 2, 280, 340, blue0.rgb, blue1.rgb, 0.4, 0); - antenas(COLOR.rgb, uv, pc0, 2, 340, 400, blue1.rgb, blue0.rgb, 0.4, 0); - antenas(COLOR.rgb, uv, pc0, 2, 400, 460, blue0.rgb, blue1.rgb, 0.4, 0); - antenas(COLOR.rgb, uv, pc0, 2, 460, 520, blue1.rgb, blue0.rgb, 0.4, 0); - antenas(COLOR.rgb, uv, pc0, 2, 520, 580, blue0.rgb, blue1.rgb, 0.4, 0); + // Сектор направления + sector(COLOR.rgb, uv, pc0, get_ang_atack(450.0 - sec_var), ap_ant_w, float(ant_band_r0_0), float(ant_band_r1_6), red.rgb); - //antenas(COLOR.rgb, uv, pc0, band_ants[0], 100, 120, blue0.rgb, blue1.rgb, 0.4, 0); - //antenas(COLOR.rgb, uv, pc0, band_ants[1], 125, 150, blue0.rgb, blue1.rgb, 0.4, 0); - //antenas(COLOR.rgb, uv, pc0, band_ants[2], 155, 180, blue0.rgb, blue1.rgb, 0.4, 0); - + // Сетка антенн + antenas(COLOR.rgb, uv, pc0, ant_band_count_0, ant_band_r0_0, ant_band_r1_0, blue1.rgb, blue0.rgb, 0.4); + antenas(COLOR.rgb, uv, pc0, ant_band_count_1, ant_band_r0_1, ant_band_r1_1, blue0.rgb, blue1.rgb, 0.4); + antenas(COLOR.rgb, uv, pc0, ant_band_count_2, ant_band_r0_2, ant_band_r1_2, blue1.rgb, blue0.rgb, 0.4); + antenas(COLOR.rgb, uv, pc0, ant_band_count_3, ant_band_r0_3, ant_band_r1_3, blue0.rgb, blue1.rgb, 0.4); + antenas(COLOR.rgb, uv, pc0, ant_band_count_4, ant_band_r0_4, ant_band_r1_4, blue1.rgb, blue0.rgb, 0.4); + antenas(COLOR.rgb, uv, pc0, ant_band_count_5, ant_band_r0_5, ant_band_r1_5, blue0.rgb, blue1.rgb, 0.4); + antenas(COLOR.rgb, uv, pc0, ant_band_count_6, ant_band_r0_6, ant_band_r1_6, blue1.rgb, blue0.rgb, 0.4); + + // Цели bip1(COLOR.rgb, uv, tr0, 13.0, blue1.rgb, 1.0); bip1(COLOR.rgb, uv, tr1, 13.0, blue1.rgb, 1.0); bip1(COLOR.rgb, uv, tr2, 13.0, blue1.rgb, 1.0); - // Массивы не работают - //for (int i = 0; i < 3; i ++) - //{ - // int cnt = int(band_ants[i].x); - // float r0 = band_ants[i].y; - // float r1 = band_ants[i].z; - // float adj = band_ants[i].w; - // antenas(COLOR.rgb, uv, pc0, cnt, r0, r1, blue0.rgb, blue1.rgb, 0.3, adj); - //} - // Качка circle_thin(COLOR.rgb, uv, pc1, d4 / 2.0, line_width, blue1.rgb, 1.0); line_r(COLOR.rgb, uv, pc1, 0, d4 / 2.0, blue1.rgb, 1.0); @@ -343,29 +320,13 @@ void fragment() shader = SubResource("1") shader_parameter/blue0 = Color(0.38, 0.47, 0.51, 1) shader_parameter/blue1 = Color(0.39, 0.44, 0.5, 1) -shader_parameter/blue2 = Color(0.11, 0.21, 0.25, 1) -shader_parameter/blue3 = Color(0.35, 0.76, 0.83, 1) -shader_parameter/blue4 = Color(0.953, 0.969, 0.89, 1) shader_parameter/red = Color(1, 0.38, 0.227, 1) -shader_parameter/line_width = 2.0 -shader_parameter/sec_forward = 180.0 -shader_parameter/sec_back = 0.0 -shader_parameter/sec_left = 90.0 -shader_parameter/sec_right = 300.0 -shader_parameter/d0 = 520.0 -shader_parameter/d1 = 1120.0 -shader_parameter/d2 = 1160.0 -shader_parameter/d3 = 100.0 shader_parameter/d4 = 180.0 -shader_parameter/d5 = 650.0 -shader_parameter/d6 = 800.0 -shader_parameter/d7 = 950.0 -shader_parameter/pc0 = Vector2(590, 600) +shader_parameter/pc0 = Vector2(610, 600) shader_parameter/pc1 = Vector2(110, 1070) -shader_parameter/pc2 = Vector2(100, 1060) -shader_parameter/ap_ant_w = 12.0 +shader_parameter/pc2 = Vector2(100, 1065) shader_parameter/tr0 = Vector2(600, 1000) shader_parameter/tr1 = Vector2(1000, 600) shader_parameter/tr2 = Vector2(300, 400) shader_parameter/sec_var = 0.0 -shader_parameter/band_ants = PackedInt32Array(8, 8, 12) +shader_parameter/ap_ant_w = 12.0 diff --git a/tab_container_stc.gd b/tab_container_stc.gd new file mode 100644 index 0000000..0a82c8c --- /dev/null +++ b/tab_container_stc.gd @@ -0,0 +1,22 @@ +extends TabContainer + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass + + +func _on_tab_changed(tab): + if tab == 7: + $Panel8/VideoStreamPlayer.play() + else: + $Panel8/VideoStreamPlayer.stop() + + +func _on_video_stream_player_finished(): + $Panel8/VideoStreamPlayer.play() diff --git a/tab_container_stc.tscn b/tab_container_stc.tscn new file mode 100644 index 0000000..97965bc --- /dev/null +++ b/tab_container_stc.tscn @@ -0,0 +1,96 @@ +[gd_scene load_steps=10 format=3 uid="uid://cbfp6bylx8g4i"] + +[ext_resource type="Texture2D" uid="uid://tfju4shlxd7g" path="res://data/1.png" id="1_5wdck"] +[ext_resource type="Script" path="res://tab_container_stc.gd" id="1_6hxhh"] +[ext_resource type="Texture2D" uid="uid://bhvo4qe45sof6" path="res://data/2.png" id="2_iwy0o"] +[ext_resource type="Texture2D" uid="uid://eixrw0k33lan" path="res://data/3.png" id="3_378a8"] +[ext_resource type="Texture2D" uid="uid://c52qoo3dp877e" path="res://data/4.png" id="4_n106p"] +[ext_resource type="Texture2D" uid="uid://kx8tn03k5ips" path="res://data/5.png" id="5_gkcgk"] +[ext_resource type="Texture2D" uid="uid://b6jjplsdvxmh2" path="res://data/7.png" id="6_7khta"] +[ext_resource type="Texture2D" uid="uid://cv2cj5ffmcked" path="res://data/6.png" id="7_3ndk8"] +[ext_resource type="VideoStream" path="res://data/dji-mini-2.mkv.ogv" id="9_3phym"] + +[node name="TabContainer" type="TabContainer"] +offset_left = 10.0 +offset_top = 5.0 +offset_right = 1595.0 +offset_bottom = 1200.0 +script = ExtResource("1_6hxhh") + +[node name="Panel1" type="Panel" parent="."] +layout_mode = 2 + +[node name="Sprite2D1" type="Sprite2D" parent="Panel1"] +position = Vector2(792.5, 589) +scale = Vector2(1.22951, 1.43142) +texture = ExtResource("1_5wdck") + +[node name="Panel2" type="Panel" parent="."] +visible = false +layout_mode = 2 + +[node name="Sprite2D2" type="Sprite2D" parent="Panel2"] +position = Vector2(789.5, 586) +scale = Vector2(1.20724, 1.54768) +texture = ExtResource("2_iwy0o") + +[node name="Panel3" type="Panel" parent="."] +visible = false +layout_mode = 2 + +[node name="Sprite2D3" type="Sprite2D" parent="Panel3"] +position = Vector2(795.75, 582.25) +scale = Vector2(1.23536, 1.44257) +texture = ExtResource("3_378a8") + +[node name="Panel4" type="Panel" parent="."] +visible = false +layout_mode = 2 + +[node name="Sprite2D4" type="Sprite2D" parent="Panel4"] +position = Vector2(799.25, 582.75) +scale = Vector2(1.24902, 1.44271) +texture = ExtResource("4_n106p") + +[node name="Panel5" type="Panel" parent="."] +visible = false +layout_mode = 2 + +[node name="Sprite2D5" type="Sprite2D" parent="Panel5"] +position = Vector2(797.5, 586.5) +scale = Vector2(1.34957, 1.69559) +texture = ExtResource("5_gkcgk") + +[node name="Panel7" type="Panel" parent="."] +visible = false +layout_mode = 2 + +[node name="Sprite2D7" type="Sprite2D" parent="Panel7"] +position = Vector2(790, 586) +scale = Vector2(1.24219, 1.7432) +texture = ExtResource("6_7khta") + +[node name="Panel6" type="Panel" parent="."] +visible = false +layout_mode = 2 + +[node name="Sprite2D6" type="Sprite2D" parent="Panel6"] +position = Vector2(790, 577) +scale = Vector2(1.23437, 1.73112) +texture = ExtResource("7_3ndk8") + +[node name="Panel8" type="Panel" parent="."] +visible = false +layout_mode = 2 + +[node name="VideoStreamPlayer" type="VideoStreamPlayer" parent="Panel8"] +layout_mode = 0 +offset_left = 8.0 +offset_top = 9.0 +offset_right = 1570.0 +offset_bottom = 1155.0 +stream = ExtResource("9_3phym") +expand = true + +[connection signal="tab_changed" from="." to="." method="_on_tab_changed"] +[connection signal="finished" from="Panel8/VideoStreamPlayer" to="." method="_on_video_stream_player_finished"] diff --git a/uactl.build b/uactl.build deleted file mode 100644 index 7e46a86..0000000 --- a/uactl.build +++ /dev/null @@ -1,439 +0,0 @@ -{ - "disabled_build_options": { - - }, - "disabled_classes": [ - "AESContext", - "AStar2D", - "AStar3D", - "AStarGrid2D", - "ActionMapEditor", - "AnimatedSprite2D", - "AnimatedTexture", - "Animation", - "AnimationBezierTrackEdit", - "AnimationLibrary", - "AnimationNode", - "AnimationNodeStateMachinePlayback", - "AnimationNodeStateMachineTransition", - "AnimationPlayer", - "AnimationTrackEditPlugin", - "AnimationTree", - "AspectRatioContainer", - "AtlasTexture", - "AtlasTileProxyObject", - "AudioBusLayout", - "AudioEffect", - "AudioEffectInstance", - "AudioListener2D", - "AudioServer", - "AudioStream", - "AudioStreamPlayback", - "AudioStreamPlayer", - "AudioStreamPlayer2D", - "AudioStreamPreviewGenerator", - "BackBufferCopy", - "BitMap", - "Bone2D", - "BoneMap", - "BoxContainer", - "ButtonGroup", - "CPUParticles2D", - "Camera2D", - "CameraAttributes", - "CameraFeed", - "CameraServer", - "CameraTexture", - "CanvasGroup", - "CanvasItemEditorSelectedItem", - "CanvasItemEditorViewport", - "CanvasLayer", - "CanvasModulate", - "CanvasTexture", - "Cast2DEditor", - "CenterContainer", - "CharFXTransform", - "CheckBox", - "CheckButton", - "ClassDB", - "CollisionObject2D", - "CollisionPolygon2D", - "CollisionShape2D", - "CollisionShape2DEditor", - "ColorPickerButton", - "ColorRect", - "ConfigFile", - "ConnectDialogBinds", - "ControlEditorPopupButton", - "Crypto", - "CryptoKey", - "Curve", - "Curve2D", - "Curve3D", - "CurveTexture", - "CurveXYZTexture", - "DTLSServer", - "DebugAdapterParser", - "DirAccess", - "DisplayServer", - "DynamicFontImportSettingsData", - "ENetConnection", - "EditorAssetLibrary", - "EditorAudioBus", - "EditorAudioMeterNotches", - "EditorBuildProfile", - "EditorDebuggerPlugin", - "EditorDebuggerRemoteObject", - "EditorDebuggerSession", - "EditorExport", - "EditorExportPlatform", - "EditorExportPlugin", - "EditorExportPreset", - "EditorFeatureProfile", - "EditorFileServer", - "EditorFileSystem", - "EditorFileSystemDirectory", - "EditorFileSystemImportFormatSupportQuery", - "EditorImportBlendRunner", - "EditorInspectorCategory", - "EditorInspectorPlugin", - "EditorInspectorSection", - "EditorInterface", - "EditorNode", - "EditorNode3DGizmoPlugin", - "EditorPath", - "EditorPaths", - "EditorPlugin", - "EditorProperty", - "EditorPropertyArrayObject", - "EditorPropertyDictionaryObject", - "EditorPropertyLayersGrid", - "EditorPropertyNameProcessor", - "EditorResourceConversionPlugin", - "EditorResourcePreview", - "EditorResourcePreviewGenerator", - "EditorSceneFormatImporter", - "EditorScenePostImport", - "EditorScenePostImportPlugin", - "EditorScript", - "EditorSelection", - "EditorSettings", - "EditorTranslationParserPlugin", - "EditorUndoRedoManager", - "EditorVCSInterface", - "EncodedObjectAsID", - "Engine", - "EngineDebugger", - "EngineProfiler", - "Environment", - "Expression", - "FileAccess", - "FindInFiles", - "FindInFilesPanel", - "FlowContainer", - "FontVariation", - "GDExtension", - "GDExtensionManager", - "GDScriptNativeClass", - "GDScriptTextDocument", - "GDScriptWorkspace", - "GLTFAccessor", - "GLTFAnimation", - "GLTFBufferView", - "GLTFCamera", - "GLTFDocument", - "GLTFDocumentExtension", - "GLTFLight", - "GLTFMesh", - "GLTFNode", - "GLTFSkeleton", - "GLTFSkin", - "GLTFSpecGloss", - "GLTFState", - "GLTFTexture", - "GLTFTextureSampler", - "GPUParticles2D", - "GPUParticles3DEditorBase", - "Geometry2D", - "Geometry3D", - "Gradient", - "GradientTexture1D", - "GradientTexture2D", - "GraphEdit", - "GraphEditFilter", - "GraphEditMinimap", - "GraphNode", - "GridContainer", - "HMACContext", - "HTTPClient", - "HTTPRequest", - "HashingContext", - "IP", - "Image", - "ImageFormatLoader", - "ImageTexture", - "ImportDefaultsEditorSettings", - "ImportDockParameters", - "ImporterMesh", - "Input", - "InputEvent", - "InputMap", - "InstancePlaceholder", - "ItemList", - "JNISingleton", - "JSON", - "JSONRPC", - "JavaClass", - "JavaClassWrapper", - "JavaScriptBridge", - "JavaScriptObject", - "Joint2D", - "KinematicCollision2D", - "KinematicCollision3D", - "LabelSettings", - "Light2D", - "LightOccluder2D", - "LightmapGIData", - "Lightmapper", - "Line2D", - "LineEdit", - "LinkButton", - "MainLoop", - "MarginContainer", - "Marker2D", - "Marshalls", - "Material", - "MaterialEditor", - "MenuBar", - "MenuButton", - "Mesh", - "MeshDataTool", - "MeshInstance2D", - "MeshInstance3DEditor", - "MeshLibrary", - "MeshLibraryEditor", - "MeshTexture", - "MissingNode", - "MissingResource", - "MovieWriter", - "MultiMesh", - "MultiMeshEditor", - "MultiMeshInstance2D", - "MultiplayerAPI", - "MultiplayerSpawner", - "MultiplayerSynchronizer", - "Mutex", - "NavigationAgent2D", - "NavigationAgent3D", - "NavigationLink2D", - "NavigationLink2DEditor", - "NavigationMesh", - "NavigationMeshEditor", - "NavigationMeshGenerator", - "NavigationObstacle2D", - "NavigationObstacle3D", - "NavigationPathQueryParameters2D", - "NavigationPathQueryParameters3D", - "NavigationPathQueryResult2D", - "NavigationPathQueryResult3D", - "NavigationPolygon", - "NavigationRegion2D", - "NavigationServer2D", - "NavigationServer3D", - "Node3D", - "Node3DEditorViewport", - "Node3DEditorViewportContainer", - "Node3DGizmo", - "Noise", - "NoiseTexture2D", - "OS", - "Occluder3D", - "OccluderPolygon2D", - "OggPacketSequence", - "OggPacketSequencePlayback", - "OpenXRAction", - "OpenXRActionMap", - "OpenXRActionSet", - "OpenXRIPBinding", - "OpenXRInteractionProfile", - "OptionButton", - "PCKPacker", - "PackedDataContainer", - "PackedDataContainerRef", - "PacketPeer", - "ParallaxLayer", - "Path2D", - "PathFollow2D", - "Performance", - "PhysicsDirectBodyState2D", - "PhysicsDirectBodyState3D", - "PhysicsDirectSpaceState2D", - "PhysicsDirectSpaceState3D", - "PhysicsMaterial", - "PhysicsPointQueryParameters2D", - "PhysicsPointQueryParameters3D", - "PhysicsRayQueryParameters2D", - "PhysicsRayQueryParameters3D", - "PhysicsServer2D", - "PhysicsServer2DManager", - "PhysicsServer3D", - "PhysicsServer3DManager", - "PhysicsServer3DRenderingServerHandler", - "PhysicsShapeQueryParameters2D", - "PhysicsShapeQueryParameters3D", - "PhysicsTestMotionParameters2D", - "PhysicsTestMotionParameters3D", - "PhysicsTestMotionResult2D", - "PhysicsTestMotionResult3D", - "PlaceholderTexture2D", - "Polygon2D", - "PolygonPathFinder", - "PortableCompressedTexture2D", - "ProjectSettings", - "RDAttachmentFormat", - "RDFramebufferPass", - "RDPipelineColorBlendState", - "RDPipelineColorBlendStateAttachment", - "RDPipelineDepthStencilState", - "RDPipelineMultisampleState", - "RDPipelineRasterizationState", - "RDPipelineSpecializationConstant", - "RDSamplerState", - "RDShaderFile", - "RDShaderSPIRV", - "RDShaderSource", - "RDTextureFormat", - "RDTextureView", - "RDUniform", - "RDVertexAttribute", - "RandomNumberGenerator", - "Range", - "RayCast2D", - "ReferenceRect", - "RegEx", - "RegExMatch", - "RemoteTransform2D", - "RenderingDevice", - "RenderingServer", - "ResourceFormatLoader", - "ResourceFormatSaver", - "ResourceImporter", - "ResourceLoader", - "ResourcePreloader", - "ResourcePreloaderEditor", - "ResourceSaver", - "ResourceUID", - "RichTextEffect", - "RichTextLabel", - "SceneCacheInterface", - "SceneImportSettingsData", - "SceneRPCInterface", - "SceneReplicationConfig", - "SceneReplicationInterface", - "SceneState", - "SceneTileProxyObject", - "SceneTreeEditor", - "SceneTreeTimer", - "ScriptEditor", - "ScriptExtension", - "ScriptLanguage", - "ScrollContainer", - "SectionedInspectorFilter", - "Semaphore", - "Separator", - "ShaderFileEditor", - "ShaderGlobalsEditorInterface", - "ShaderGlobalsOverride", - "ShaderInclude", - "Shape2D", - "Shape3D", - "ShapeCast2D", - "Shortcut", - "Skeleton2D", - "Skeleton2DEditor", - "SkeletonIK3D", - "SkeletonModification2D", - "SkeletonModificationStack2D", - "SkeletonProfile", - "Skin", - "SkinReference", - "SplitContainer", - "SplitContainerDragger", - "Sprite2DEditor", - "SpriteFrames", - "StreamPeer", - "StyleBoxFlat", - "StyleBoxLine", - "StyleBoxTexture", - "SubViewportContainer", - "SurfaceTool", - "SyntaxHighlighter", - "SystemFont", - "TCPServer", - "TLSOptions", - "TabBar", - "TextEdit", - "TextLine", - "TextParagraph", - "TextServer", - "TextServerManager", - "Texture3D", - "TextureButton", - "TextureLayered", - "TextureRect", - "Theme", - "ThemeDB", - "Thread", - "TileAtlasView", - "TileData", - "TileMap", - "TileMapEditorTerrainsPlugin", - "TileMapEditorTilesPlugin", - "TileMapPattern", - "TileSet", - "TileSetAtlasSourceProxyObject", - "TileSetScenesCollectionProxyObject", - "TileSetSource", - "Time", - "Timer", - "TouchScreenButton", - "Translation", - "TranslationServer", - "Tree", - "TreeItem", - "TriangleMesh", - "Tween", - "Tweener", - "UDPServer", - "UPNP", - "UPNPDevice", - "UndoRedo", - "VideoStream", - "VideoStreamPlayback", - "VideoStreamPlayer", - "ViewPanner", - "Viewport", - "ViewportNavigationControl", - "ViewportRotationControl", - "ViewportTexture", - "VisibleOnScreenNotifier2D", - "VisualShader", - "VisualShaderNode", - "VoxelGIData", - "WeakRef", - "WebRTCPeerConnection", - "WorkerThreadPool", - "World2D", - "World3D", - "WorldEnvironment", - "X509Certificate", - "XMLParser", - "XRInterface", - "XRPose", - "XRPositionalTracker", - "XRServer", - "ZIPPacker", - "ZIPReader" - ], - "type": "build_profile" -} \ No newline at end of file