From b3e7baf572c37811e95d5933f928ad0ba5da6c89 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Tue, 23 Apr 2024 11:20:55 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20=D0=A3=D0=B3=D0=BE=D0=BB=20=D0=BD=D0=B0=D0=BA?= =?UTF-8?q?=D0=BB=D0=BE=D0=BD=D0=B0=20=D1=87=D1=91=D1=80=D1=82=D0=BE=D1=87?= =?UTF-8?q?=D0=B5=D0=BA=20=D0=BD=D0=B0=20=D0=BF=D0=BB=D0=BE=D1=81=D0=BA?= =?UTF-8?q?=D0=BE=D0=B9=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/button-flat/button-flat.tscn | 14 ++- scenes/button-flat/nine-patch-button.gd | 24 ++--- scenes/grid-buttons-ecm/grid-buttons-ecm.tscn | 30 +++++- scenes/работа/работа.gd | 2 +- scenes/работа/работа.tscn | 102 +++++++++++++++--- 5 files changed, 135 insertions(+), 37 deletions(-) diff --git a/scenes/button-flat/button-flat.tscn b/scenes/button-flat/button-flat.tscn index 72c7f5b..51b8e5a 100644 --- a/scenes/button-flat/button-flat.tscn +++ b/scenes/button-flat/button-flat.tscn @@ -57,7 +57,7 @@ void fragment() [sub_resource type="ShaderMaterial" id="ShaderMaterial_hhdyc"] resource_local_to_scene = true shader = SubResource("Shader_2bftm") -shader_parameter/rotation = 45.0 +shader_parameter/rotation = 0.0 shader_parameter/color = Vector4(1, 1, 1, 0.1) shader_parameter/width = 3.0 shader_parameter/speed = 0.0 @@ -71,15 +71,22 @@ script/source = "@tool extends Sprite2D - +## Скорость движения чёрточек. @export var speed: float = 0.01: set(val): material.set('shader_parameter/speed', val) get: return material.get('shader_parameter/speed') +## Режим отображения. Когда [b]true[/b], чёрточки отображаются. @export var disabled: bool = false: set(val): material.set('shader_parameter/disabled', val) get: return material.get('shader_parameter/disabled') + + +## Угол наклона чёрточек. +@export var strips_rotation: float = 0.0: + set(val): material.set('shader_parameter/rotation', val) + get: return material.get('shader_parameter/rotation') " [sub_resource type="StyleBoxEmpty" id="6"] @@ -97,7 +104,6 @@ offset_right = 20.0 offset_bottom = 20.0 theme_override_styles/panel = SubResource("1") script = ExtResource("1_ui6sg") -toggle_mode = true [node name="back" type="Sprite2D" parent="."] material = SubResource("ShaderMaterial_hhdyc") @@ -126,9 +132,7 @@ theme_override_styles/hover = SubResource("2") theme_override_styles/pressed = SubResource("3") theme_override_styles/disabled = SubResource("5") theme_override_styles/focus = SubResource("4") -toggle_mode = true clip_text = true [connection signal="resized" from="." to="." method="_on_resized"] [connection signal="visibility_changed" from="back" to="back" method="_on_visibility_changed"] -[connection signal="toggled" from="button" to="." method="_on_button_toggled"] diff --git a/scenes/button-flat/nine-patch-button.gd b/scenes/button-flat/nine-patch-button.gd index 9da62fc..2356476 100644 --- a/scenes/button-flat/nine-patch-button.gd +++ b/scenes/button-flat/nine-patch-button.gd @@ -2,8 +2,6 @@ extends PanelContainer -var save_modulate: Color - func set_text(val: String): $button.set_text(val) func set_pressed(val: bool): $button.set_pressed(val) func set_disabled(val: bool): disabled = val @@ -21,6 +19,11 @@ func is_toggle_mode(): return $button.is_toggle_mode() set(val): $state.set_texture(val) +@export var strips_rotation: float: + set(val): $back.strips_rotation = deg_to_rad(val) + get: return rad_to_deg($back.strips_rotation) + + @export var text: String = '': set(val): $button.set_text(val) get: return $button.get_text() @@ -30,10 +33,7 @@ func is_toggle_mode(): return $button.is_toggle_mode() set(val): $button.set_disabled(val) $back.disabled = val - if val: - $state.modulate.a = 0.5 - else: - $state.modulate.a = 1.0 + $state.modulate.a = 0.5 if val else 1.0 get: return $button.disabled @@ -42,10 +42,8 @@ func is_toggle_mode(): return $button.is_toggle_mode() get: return $button.is_pressed() -@export var toggle_mode: bool = false: - set(val): - if is_inside_tree(): - $button.set_toggle_mode(val) +@export var toggle_mode: bool: + set(val): $button.set_toggle_mode(val) get: return $button.is_toggle_mode() @@ -57,12 +55,12 @@ func _on_resized() -> void: func _enter_tree() -> void: $back.scale = size $back.material.set('shader_parameter/scale', size / Vector2(20.0, 20.0)) - save_modulate = modulate + $button.set_toggle_mode(true) + $button.connect('toggled', Callable(self, '_on_button_toggled')) func set_toggle_mode (val: bool): - if is_inside_tree(): - $button.set_toggle_mode(val) + $button.set_toggle_mode(val) func _on_button_toggled(val: bool): diff --git a/scenes/grid-buttons-ecm/grid-buttons-ecm.tscn b/scenes/grid-buttons-ecm/grid-buttons-ecm.tscn index 5af9d2d..7baa822 100644 --- a/scenes/grid-buttons-ecm/grid-buttons-ecm.tscn +++ b/scenes/grid-buttons-ecm/grid-buttons-ecm.tscn @@ -11,110 +11,138 @@ columns = 14 layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 20.0 text = "Откл." disabled = true +toggle_mode = true metadata/rfi_name = "off" [node name="btn_auto_rfi" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -text = "Автомат" +strips_rotation = 20.0 +text = "Запрет" disabled = true +toggle_mode = true metadata/rfi_name = "auto" [node name="btn_p12" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 20.0 text = "МЧМ-1" disabled = true +toggle_mode = true metadata/rfi_name = "mchm1" [node name="btn_p16" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 20.0 text = "СРН-И1" disabled = true +toggle_mode = true metadata/rfi_name = "srni1" [node name="btn_p15" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 20.0 text = "СРН-М2" disabled = true +toggle_mode = true metadata/rfi_name = "srnm2" [node name="btn_p14" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 20.0 text = "ПД-М4" disabled = true +toggle_mode = true metadata/rfi_name = "pdm4" [node name="btn_p13" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 20.0 text = "ПД-М2" disabled = true +toggle_mode = true metadata/rfi_name = "pdm2" [node name="btn_p11" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 20.0 text = "ЛЧМ-1" disabled = true +toggle_mode = true metadata/rfi_name = "lchm1" [node name="btn_p10" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 20.0 text = "ПД-М4С" disabled = true +toggle_mode = true metadata/rfi_name = "pdm4s" [node name="btn_p9" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 20.0 text = "ПД-ЧМ" disabled = true +toggle_mode = true metadata/rfi_name = "pdchm" [node name="btn_p8" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 20.0 text = "СВ-И1" disabled = true +toggle_mode = true metadata/rfi_name = "svi1" [node name="btn_p7" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 20.0 text = "K1" disabled = true +toggle_mode = true metadata/rfi_name = "k1" [node name="btn_p6" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 20.0 text = "СВ-М2" disabled = true +toggle_mode = true metadata/rfi_name = "svm2" [node name="btn_p5" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 20.0 text = "ОЗП-1" disabled = true +toggle_mode = true metadata/rfi_name = "ozp1" diff --git a/scenes/работа/работа.gd b/scenes/работа/работа.gd index c696ac4..86d2164 100644 --- a/scenes/работа/работа.gd +++ b/scenes/работа/работа.gd @@ -376,7 +376,7 @@ func sel_fs_sector(event): var center_offset: Vector2 = ProjectSettings.get_setting('application/interfer/center_offset', Vector2i(0, 25)) var angle: float = event.position.angle_to_point(center + center_offset) * 180/PI - 45.0 if angle < 0: - angle +=360 + angle += 360 var distance: float = event.position.distance_to(center + center_offset) var sector: int var band: int diff --git a/scenes/работа/работа.tscn b/scenes/работа/работа.tscn index d793d2d..186266f 100644 --- a/scenes/работа/работа.tscn +++ b/scenes/работа/работа.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=3 uid="uid://b276iygic5itk"] +[gd_scene load_steps=14 format=3 uid="uid://b276iygic5itk"] [ext_resource type="Script" path="res://scenes/работа/работа.gd" id="1_niok4"] [ext_resource type="PackedScene" uid="uid://nl1vklubr5kr" path="res://scenes/bip/bip.tscn" id="2_br3s6"] @@ -11,6 +11,7 @@ [ext_resource type="PackedScene" uid="uid://bbq6nklh36yij" path="res://scenes/tilemap/tilemap.tscn" id="10_gtwyg"] [ext_resource type="PackedScene" uid="uid://b5kjdyxuwsot5" path="res://scenes/diagram/diagram.tscn" id="11_b6su4"] [ext_resource type="Shader" path="res://shaders/tilemap.gdshader" id="11_ekapd"] +[ext_resource type="Script" path="res://scenes/работа/sld_mode.gd" id="12_gqdkl"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_4p7y1"] resource_local_to_scene = true @@ -97,16 +98,6 @@ offset_right = 83.0 offset_bottom = 72.0 text = "Опасных:" -[node name="btn_auto_threat" parent="." instance=ExtResource("8_k0iv2")] -layout_mode = 0 -offset_left = 1034.0 -offset_top = 7.0 -offset_right = 1108.0 -offset_bottom = 61.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -text = "Автомат" - [node name="btn_view" parent="." instance=ExtResource("8_k0iv2")] layout_mode = 2 offset_left = 11.0 @@ -115,9 +106,10 @@ offset_right = 111.0 offset_bottom = 953.0 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 2578.31 text = "Вид" -[node name="btn_view2" parent="." instance=ExtResource("8_k0iv2")] +[node name="btn_activate" parent="." instance=ExtResource("8_k0iv2")] layout_mode = 2 offset_left = 954.0 offset_top = 1060.0 @@ -125,6 +117,7 @@ offset_right = 1106.0 offset_bottom = 1112.0 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 2578.31 text = "Подавление" [node name="btn_zoom" parent="." instance=ExtResource("9_oey3x")] @@ -137,16 +130,17 @@ metadata/zoom = 4 [node name="btns_select" type="GridContainer" parent="."] layout_mode = 0 -offset_left = 1034.0 -offset_top = 65.0 -offset_right = 1108.0 -offset_bottom = 181.0 +offset_left = 1018.0 +offset_top = 38.0 +offset_right = 1092.0 +offset_bottom = 154.0 [node name="btn_strob" parent="btns_select" instance=ExtResource("8_k0iv2")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 tooltip_text = "Кнопка для выбора сектора при помощи клика мышкой" +strips_rotation = 2578.31 text = "Строб" metadata/state = 0 @@ -155,8 +149,8 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 tooltip_text = "Кнопка для выбора сектора при помощи клика мышкой" +strips_rotation = 2578.31 text = "Цель" -pressed = true metadata/state = 1 [node name="btn_fs_sector" parent="btns_select" instance=ExtResource("8_k0iv2")] @@ -164,9 +158,83 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 tooltip_text = "Кнопка для выбора сектора при помощи клика мышкой" +strips_rotation = 2578.31 text = "Сектор" metadata/state = 2 +[node name="vslider" type="VSlider" parent="."] +layout_mode = 2 +offset_left = 1113.0 +offset_top = 975.0 +offset_right = 1143.0 +offset_bottom = 1055.0 +scale = Vector2(-1, 1) +max_value = 3.0 +value = 3.0 +tick_count = 4 +ticks_on_borders = true +script = ExtResource("12_gqdkl") + +[node name="label0" type="Label" parent="vslider"] +self_modulate = Color(1, 1, 1, 0.5) +layout_mode = 0 +offset_left = 158.0 +offset_top = 62.0 +offset_right = 283.0 +offset_bottom = 82.0 +scale = Vector2(-1, 1) +text = "Автомат отключен" +horizontal_alignment = 2 +vertical_alignment = 1 + +[node name="label1" type="Label" parent="vslider"] +self_modulate = Color(1, 1, 1, 0.5) +layout_mode = 0 +offset_left = 182.0 +offset_top = 40.0 +offset_right = 331.0 +offset_bottom = 60.0 +scale = Vector2(-1, 1) +text = "Автомат выбора цели" +horizontal_alignment = 2 +vertical_alignment = 1 + +[node name="label2" type="Label" parent="vslider"] +self_modulate = Color(1, 1, 1, 0.5) +layout_mode = 0 +offset_left = 200.0 +offset_top = 19.0 +offset_right = 368.0 +offset_bottom = 39.0 +scale = Vector2(-1, 1) +text = "Автомат выбора помехи" +horizontal_alignment = 2 +vertical_alignment = 1 + +[node name="label3" type="Label" parent="vslider"] +self_modulate = Color(1, 1, 1, 0.5) +layout_mode = 0 +offset_left = 191.0 +offset_top = -2.0 +offset_right = 351.0 +offset_bottom = 18.0 +scale = Vector2(-1, 1) +text = "Автомат помехи и цели" +horizontal_alignment = 2 +vertical_alignment = 1 + +[node name="label9" type="Label" parent="."] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 1002.0 +offset_top = 6.0 +offset_right = 1106.0 +offset_bottom = 31.0 +text = "Режим выбора" +horizontal_alignment = 1 +vertical_alignment = 1 + [connection signal="drag_begin" from="." to="." method="_on_drag_begin"] [connection signal="drag_continue" from="." to="." method="_on_drag_continue"] [connection signal="pressed" from="btn_zoom" to="." method="_on_btn_scale_pressed"] +[connection signal="value_changed" from="vslider" to="vslider" method="_on_value_changed"]