Доработка. Угол наклона чёрточек на плоской кнопке
This commit is contained in:
@@ -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"]
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"]
|
||||
|
||||
Reference in New Issue
Block a user