diff --git a/data/2разъединение.png.import b/data/2разъединение.png.import new file mode 100644 index 00000000..589b5291 --- /dev/null +++ b/data/2разъединение.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwfdur4we51wo" +path="res://.godot/imported/2разъединение.png-a5736ca86ce553a4d764d6fc09130f8a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://data/2разъединение.png" +dest_files=["res://.godot/imported/2разъединение.png-a5736ca86ce553a4d764d6fc09130f8a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/data/2соединение.png.import b/data/2соединение.png.import new file mode 100644 index 00000000..1a276ba5 --- /dev/null +++ b/data/2соединение.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bajrbvv7twq7m" +path="res://.godot/imported/2соединение.png-b014241f07700023165f09936094354c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://data/2соединение.png" +dest_files=["res://.godot/imported/2соединение.png-b014241f07700023165f09936094354c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/data/Передатчик.png b/data/Передатчик.png new file mode 100644 index 00000000..aa3c5411 Binary files /dev/null and b/data/Передатчик.png differ diff --git a/data/Передатчик.png.import b/data/Передатчик.png.import new file mode 100644 index 00000000..e87ccbca --- /dev/null +++ b/data/Передатчик.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c73tjrn8gr00o" +path="res://.godot/imported/Передатчик.png-a9919ed2f6d748be55f63a536bcda2ff.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://data/Передатчик.png" +dest_files=["res://.godot/imported/Передатчик.png-a9919ed2f6d748be55f63a536bcda2ff.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/data/Приёмник.png b/data/Приёмник.png new file mode 100644 index 00000000..d78ab746 Binary files /dev/null and b/data/Приёмник.png differ diff --git a/data/Приёмник.png.import b/data/Приёмник.png.import new file mode 100644 index 00000000..fd1ef2f1 --- /dev/null +++ b/data/Приёмник.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c6etralq2tvxg" +path="res://.godot/imported/Приёмник.png-37dec39ffb59b71e3909414fe8f5fd1e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://data/Приёмник.png" +dest_files=["res://.godot/imported/Приёмник.png-37dec39ffb59b71e3909414fe8f5fd1e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/data/Состояние РЭС 2.png b/data/Состояние РЭС 2.png new file mode 100644 index 00000000..5028c297 Binary files /dev/null and b/data/Состояние РЭС 2.png differ diff --git a/data/Состояние РЭС 2.png.import b/data/Состояние РЭС 2.png.import new file mode 100644 index 00000000..913a1b0b --- /dev/null +++ b/data/Состояние РЭС 2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6ar7sux3vcv1" +path="res://.godot/imported/Состояние РЭС 2.png-7acd4e8d9bd67ea07a3eadee4b22c22d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://data/Состояние РЭС 2.png" +dest_files=["res://.godot/imported/Состояние РЭС 2.png-7acd4e8d9bd67ea07a3eadee4b22c22d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/data/Состояние РЭС 4.png b/data/Состояние РЭС 4.png new file mode 100644 index 00000000..6bd2df51 Binary files /dev/null and b/data/Состояние РЭС 4.png differ diff --git a/data/Состояние РЭС 4.png.import b/data/Состояние РЭС 4.png.import new file mode 100644 index 00000000..ec3d9bab --- /dev/null +++ b/data/Состояние РЭС 4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b85f1ne2wrwhg" +path="res://.godot/imported/Состояние РЭС 4.png-d46f69e8c351fe747cf68bce4af4b8eb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://data/Состояние РЭС 4.png" +dest_files=["res://.godot/imported/Состояние РЭС 4.png-d46f69e8c351fe747cf68bce4af4b8eb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/data/Угловой квадрат3.png b/data/Угловой квадрат3.png new file mode 100644 index 00000000..d84d853e Binary files /dev/null and b/data/Угловой квадрат3.png differ diff --git a/data/Угловой квадрат3.png.import b/data/Угловой квадрат3.png.import new file mode 100644 index 00000000..3f5b163a --- /dev/null +++ b/data/Угловой квадрат3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://docnrxrm2f022" +path="res://.godot/imported/Угловой квадрат3.png-7973b0c96861e98d72e8e1ea32d59204.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://data/Угловой квадрат3.png" +dest_files=["res://.godot/imported/Угловой квадрат3.png-7973b0c96861e98d72e8e1ea32d59204.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/data/разъединение.png.import b/data/разъединение.png.import new file mode 100644 index 00000000..04537bf9 --- /dev/null +++ b/data/разъединение.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0wa068b6gl1y" +path="res://.godot/imported/разъединение.png-285b8ee2e2b500484829beae0ee4e16b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://data/разъединение.png" +dest_files=["res://.godot/imported/разъединение.png-285b8ee2e2b500484829beae0ee4e16b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/data/связь.png b/data/связь.png new file mode 100644 index 00000000..0459d55a Binary files /dev/null and b/data/связь.png differ diff --git a/data/связь.png.import b/data/связь.png.import new file mode 100644 index 00000000..e1367cb1 --- /dev/null +++ b/data/связь.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://blx6c1o1nogks" +path="res://.godot/imported/связь.png-dc3eae4c11f71101d4ba94487cecfaaa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://data/связь.png" +dest_files=["res://.godot/imported/связь.png-dc3eae4c11f71101d4ba94487cecfaaa.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/data/соединение.png.import b/data/соединение.png.import new file mode 100644 index 00000000..a6c34c4f --- /dev/null +++ b/data/соединение.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bf1e2xlk3x1aw" +path="res://.godot/imported/соединение.png-aac09e55b0c5d57ef3c31c34daaf336b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://data/соединение.png" +dest_files=["res://.godot/imported/соединение.png-aac09e55b0c5d57ef3c31c34daaf336b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/project.godot b/project.godot index 25420430..5b40e6c3 100644 --- a/project.godot +++ b/project.godot @@ -37,6 +37,64 @@ config/settings_path="user://settings.json" config/unit_bpo_request_period=20.0 interfer/emit_color=Color(0.9, 0.1, 0.25, 0.5) interfer/closed_sectors=Color(0, 0, 0, 1) +"config/Адрес АФСП левого борта"="" +"config/Адрес АФСП правого борта"="" +"config/Адрес БПО левого борта"="" +"config/Адрес БПО правого борта"="" +"config/Виртуальная клавиатура"=false +"config/Включить работу по своим целям"=true +"config/Внешнее указание Трасса"=false +"config/Внешнее управление"=false +"config/Кнопка «JTIDS»"=false +"config/Кнопка «К1»"=false +"config/Кнопка «КУПД»"=false +"config/Кнопка «ЛЧМ-1»"=false +"config/Кнопка «МЧМ-1»"=false +"config/Кнопка «ОЗП-1»"=false +"config/Кнопка «ОРН-И1»"=false +"config/Кнопка «ОРН-М2»"=false +"config/Кнопка «ОРН»"=false +"config/Кнопка «ПД-М2»"=false +"config/Кнопка «ПД-М4»"=false +"config/Кнопка «ПД-М4С»"=false +"config/Кнопка «ПД-ЧМ»"=false +"config/Кнопка «Подавление»"=false +"config/Кнопка «СВ-И1»"=false +"config/Кнопка «СВ-М2»"=false +"config/Ограниченный режим"=false +"config/Отладка контроля"=false +"config/Период опроса состояния АФСП, секунды"="" +"config/Период опроса состояния БПО, секунды"="" +"config/Скрыть вкладку ЭМС 2"=true +"config/Список своих протоколов"="" +"config/Текущая версия ПО УАРЭП"="master 3bff1cd Tue Nov 4 15:33:24 2025 +0300" +"config/Цвет кнопки \"Подавление\""="[0.972549021244049,0.0117647061124444,0.423529416322708,1.0]" +"config/Цвет схемы"="[0.972549021244049,0.0117647061124444,0.0274509806185961,1.0]" +"config/Цвет фона схемы"="[0.0941176488995552,0.149019613862038,1.0,1.0]" +"config/Шаблон адреса сервера карт"="https://tile.openstreetmap.org/{z}/{x}/{y}.png" +"config/навигация"=["*", 60000, true, true] +"config/уарэп-5п28"=["127.0.0.1", 50777] +"config/уарэп-капсрпб"=["127.0.0.1", "127.0.0.1", 42023, 42022, false, true] +"config/уарэп-спт25-1"=["/home/user/tty0", 0, 19200, "N", 8, 1] +"config/уарэп-спт25-2"=["/home/user/tty1", 0, 19200, "N", 8, 1] +"config/уарэп-трасса"=["192.168.11.34", "192.168.11.105", 50200, 10004, false, true] +"config/уарэп-щ3"=["/home/user/tty3", 7, 19200, "N", 8, 1, 50000] +"config/уарэп-эмс"=["10.1.1.52", 50052, false, false] +"config/уарэп-яу07-1в"=["10.1.1.12", 50012, false, false] +"config/уарэп-яу07-1к"=["10.1.1.13", 50013, false, false] +"config/уарэп-яу07-1н"=["10.1.1.11", 50011, false, false] +"config/уарэп-яу07-2в"=["10.1.1.22", 50022, false, false] +"config/уарэп-яу07-2к"=["10.1.1.23", 50023, false, false] +"config/уарэп-яу07-2н"=["10.1.1.21", 50021, false, false] +"config/уарэп-яу07-3в"=["10.1.1.32", 50032, false, false] +"config/уарэп-яу07-3к"=["10.1.1.33", 50033, false, false] +"config/уарэп-яу07-3н"=["10.1.1.31", 50031, false, false] +"config/уарэп-яу07-4в"=["10.1.1.42", 50042, false, false] +"config/уарэп-яу07-4к"=["10.1.1.43", 50043, false, false] +"config/уарэп-яу07-4н"=["10.1.1.41", 50041, false, false] +"config/уарэп-яу07-общий"=["*", 50000, true, true] +"config/уарэп-яу07-частный"=["10.1.1.253", 50253, false, true] +config/="[0.215686276555061,0.976470589637756,1.0,1.0]" [autoload] @@ -88,6 +146,7 @@ window/subwindows/embed_subwindows=false window/frame_pacing/android/enable_frame_pacing=false window/stretch/mode="canvas_items" window/dpi/allow_hidpi=false +window/vsync/vsync_mode=0 [editor] @@ -205,6 +264,8 @@ common/enable_object_picking=false [rendering] shader_compiler/shader_cache/strip_debug=true +textures/default_filters/anisotropic_filtering_level=0 +anti_aliasing/screen_space_roughness_limiter/enabled=false quality/driver/fallback_to_gles2=true [shader_globals] diff --git a/scenes/diagram/diagram.gd b/scenes/diagram/diagram.gd index d33a1599..850977de 100644 --- a/scenes/diagram/diagram.gd +++ b/scenes/diagram/diagram.gd @@ -1,44 +1,53 @@ -class_name Diagram extends Sprite2D +class_name Diagram extends ColorRect const NUM_OF_RANGE = 7 const NUM_OF_DIRECTIONS = 4 -var fs_default_colors: Array[Color] ## Цвета по умолчанию для блоков ФС. +const color0_default: Color = Color(0.38, 0.47, 0.51, 1.0) +const color1_default: Color = Color(0.39, 0.44, 0.50, 1.0) +var color0: Color = color0_default +var color1: Color = color1_default + +var fs_default_colors: PackedColorArray ## Цвета по умолчанию для блоков ФС. @export var SecZap: PackedScene +@export var inner_radius_0: = 0.36 ## Внутренний радиус диаграммы в режиме РТО +@export var inner_radius_1: = 0.855 ## Внутренний радиус диаграммы в обзора + func _ready() -> void: signaller.connect('map_mode_changed', Callable(self, 'set_view_mode')) + ProjectSettings.connect('settings_changed', _on_settings_changed) + _on_settings_changed() set_def_colors() func sv(val: float) -> float: return val / ($строб.scale.x / 2.0) * 0.125 -func set_canvas_rotation(val: float) -> void: material.set('shader_parameter/rotation', val) -func set_strob_visible(val: bool): $строб.visible = val -func set_strob_center(val: Vector2): $строб.position = val -func set_strob_dir(val: float): $строб.set_instance_shader_parameter('dir', val) -func set_strob_width(val: float): $строб.set_instance_shader_parameter('width', val) -func set_strob_band(val: float): $строб.set_instance_shader_parameter('band', val / 125.0) -func set_strob_radius(val: float): $строб.set_instance_shader_parameter('radius', sv(val)) -func set_strob_color(val: Color): $строб.set_instance_shader_parameter('color', val) +func set_band_colors(val: PackedColorArray): material.set('shader_parameter/ant_band_c', val) +func set_band_failures(val: PackedInt32Array): material.set('shader_parameter/ant_band_m', val) +func set_canvas_rotation(val: float): material.set('shader_parameter/rotation', val) +func set_radius_inner_frac(val: float): material.set('shader_parameter/inner_radius', val) +func set_strob_band(val: float): $строб.set_instance_shader_parameter('band', val / 125.0) +func set_strob_center(val: Vector2): $строб.position = val +func set_strob_color(val: Color): $строб.set_instance_shader_parameter('color', val) +func set_strob_dir(val: float): $строб.set_instance_shader_parameter('dir', val) +func set_strob_radius(val: float): $строб.set_instance_shader_parameter('radius', sv(val)) +func set_strob_visible(val: bool): $строб.visible = val +func set_strob_width(val: float): $строб.set_instance_shader_parameter('width', val) -func get_strob_center() -> Vector2: return $строб.position -func get_strob_visible() -> bool: return $строб.visible -func get_strob_dir() -> float: return $строб.get_instance_shader_parameter('dir') -func get_strob_width() -> float: return $строб.get_instance_shader_parameter('width') -func get_strob_band() -> float: return $строб.get_instance_shader_parameter('band') * 125.0 -func get_strob_radius() -> float: return $строб.get_instance_shader_parameter('radius') * 125.0 -func get_strob_color() -> float: return $строб.get_instance_shader_parameter('color') +func get_band_colors(_val: Array): return material.get('shader_parameter/ant_band_c') +func get_band_failures(_val: Array): return material.get('shader_parameter/ant_band_m') +func get_canvas_rotation() -> float: return material.get('shader_parameter/rotation') +func get_radius_outter() -> float: return size.x / scale.x +func get_radius_inner_frac() -> float: return material.get('shader_parameter/inner_radius') +func get_strob_band() -> float: return $строб.get_instance_shader_parameter('band') * 125.0 +func get_strob_center() -> Vector2: return $строб.position +func get_strob_color() -> float: return $строб.get_instance_shader_parameter('color') +func get_strob_dir() -> float: return $строб.get_instance_shader_parameter('dir') +func get_strob_radius() -> float: return $строб.get_instance_shader_parameter('radius') * 125.0 +func get_strob_visible() -> bool: return $строб.visible +func get_strob_width() -> float: return $строб.get_instance_shader_parameter('width') -func get_canvas_rotation() -> float: return material.get('shader_parameter/rotation') -func get_radius_outter() -> float: return material.get('shader_parameter/radius_outter') -func get_radius_inner_0() -> float: return material.get('shader_parameter/radius_inner_0') -func get_radius_inner_1() -> float: return material.get('shader_parameter/radius_inner_1') - -func get_band_colors(_val: Array): return material.get('shader_parameter/ant_band_c') -func get_band_failures(_val: Array): return material.get('shader_parameter/ant_band_m') -func set_band_colors(val: Array): material.set('shader_parameter/ant_band_c', val) -func set_band_failures(val: Array): material.set('shader_parameter/ant_band_m', val) ## Добавляет сектор запрета[br] ## [param id] - Индекс сектора запрета.[br] @@ -87,30 +96,32 @@ func clear_all_seczap(): child.queue_free() -func set_seczap_color(id: int, color: Color): +func set_seczap_color(id: int, c: Color): var seczap: = get_node('SECZAP%d' % id) - seczap.set_instance_shader_parameter('color', color) + seczap.set_instance_shader_parameter('color', c) func set_view_mode(val: int): if val == 1: + material.set('shader_parameter/inner_radius', inner_radius_1) $строб.hide() else: + material.set('shader_parameter/inner_radius', inner_radius_0) $строб.show() - material.set('shader_parameter/mode', val) + + +func _on_settings_changed(): + color0 = ProjectSettings.get_setting('application/interfer/default_color0', color0_default) + color1 = ProjectSettings.get_setting('application/interfer/default_color1', color1_default) + color0 *= Color(1.0, 1.0, 1.0, 0.0) + color1 *= Color(1.0, 1.0, 1.0, 0.0) ## Закрашивание по умолчанию блоков ФС цветами из настроек. func set_def_colors(): - var color0: Color = ProjectSettings.get_setting('application/interfer/default_color0', Color(0.38, 0.47, 0.51, 1.0)) - var color1: Color = ProjectSettings.get_setting('application/interfer/default_color1', Color(0.39, 0.44, 0.50, 1.0)) - color0 *= Color(1.0, 1.0, 1.0, 0.0) - color1 *= Color(1.0, 1.0, 1.0, 0.0) - var col_arr: Array = [color0, color1] - var col = false + var col_arr: PackedColorArray = [color0, color1] for i in NUM_OF_RANGE: for j in NUM_OF_DIRECTIONS: - fs_default_colors.append(col_arr[int(col)]) - col = not col - col = not col + fs_default_colors.append(col_arr[i & 1]) + i += 1 set_band_colors(fs_default_colors) diff --git a/scenes/diagram/diagram.tscn b/scenes/diagram/diagram.tscn index bc00d0ab..b31c4d1e 100644 --- a/scenes/diagram/diagram.tscn +++ b/scenes/diagram/diagram.tscn @@ -1,25 +1,39 @@ [gd_scene load_steps=7 format=3 uid="uid://b5kjdyxuwsot5"] -[ext_resource type="Material" uid="uid://s6xe8igevnv2" path="res://shaders/antenas.tres" id="1_newdt"] +[ext_resource type="Shader" uid="uid://dhipoo0ju5ebg" path="res://shaders/antenas.gdshader" id="1_8cjpq"] [ext_resource type="Script" uid="uid://b85scuflwlqom" path="res://scenes/diagram/diagram.gd" id="2_8xjuy"] [ext_resource type="PackedScene" uid="uid://c73ahpv8uiuc7" path="res://scenes/diagram/sector.tscn" id="3_tgnog"] [ext_resource type="Shader" uid="uid://k36g8tww5yo" path="res://shaders/sector.gdshader" id="4_obn6s"] -[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_2bft1"] -size = Vector2(1600, 1200) +[sub_resource type="ShaderMaterial" id="ShaderMaterial_oqtdt"] +shader = ExtResource("1_8cjpq") +shader_parameter/grid_cells_angle = 4 +shader_parameter/grid_layers_radius = 7 +shader_parameter/alpha = 0.5 +shader_parameter/inner_radius = 0.36 +shader_parameter/outer_radius = 1.0 +shader_parameter/grid_line_width = 0.0025 +shader_parameter/rotation = 0.0 +shader_parameter/ffr = 0.15 +shader_parameter/sfr = 0.0 +shader_parameter/pfr = 0.025 +shader_parameter/ant_band_c = PackedColorArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) +shader_parameter/ant_band_m = PackedInt32Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) [sub_resource type="ShaderMaterial" id="ShaderMaterial_lniyv"] resource_local_to_scene = true shader = ExtResource("4_obn6s") -[node name="canvas" type="Sprite2D"] -material = ExtResource("1_newdt") -texture = SubResource("PlaceholderTexture2D_2bft1") -centered = false +[node name="canvas" type="ColorRect"] +texture_filter = 1 +material = SubResource("ShaderMaterial_oqtdt") +offset_right = 560.0 +offset_bottom = 560.0 +scale = Vector2(2, 2) script = ExtResource("2_8xjuy") SecZap = ExtResource("3_tgnog") [node name="строб" parent="." instance=ExtResource("3_tgnog")] material = SubResource("ShaderMaterial_lniyv") -position = Vector2(560, 560) -scale = Vector2(1100, 1100) +position = Vector2(280, 280) +scale = Vector2(550, 550) diff --git a/scenes/frame-ecm-list/scroll-ecm-list.gd b/scenes/frame-ecm-list/scroll-ecm-list.gd index 60b73c91..1ff8dc60 100644 --- a/scenes/frame-ecm-list/scroll-ecm-list.gd +++ b/scenes/frame-ecm-list/scroll-ecm-list.gd @@ -119,9 +119,8 @@ func on_interfer_new(ecm, table_index): $table.set_row_editable(i_row, false) $table.set_node_user_data(0, i_row, ecm) table_index[ecm.ispp] = i_row - # Будем надеяться, что отложенные вызовы производятся в том же порядке - $table.call_deferred('clear_rows_selected') - $table.call_deferred('set_row_selected', i_row, true) + $table.clear_rows_selected() + $table.set_row_selected(i_row, true) if not interfer.auto_enabled: signaller.emit_signal('interfer_selected', ecm) diff --git a/scenes/pribor-prd-k/pribor-prd-k.gd b/scenes/pribor-prd-k/pribor-prd-k.gd index 14f73714..e28fbbe9 100644 --- a/scenes/pribor-prd-k/pribor-prd-k.gd +++ b/scenes/pribor-prd-k/pribor-prd-k.gd @@ -30,15 +30,12 @@ func _ready() -> void: func _process(_delta: float) -> void: if Engine.is_editor_hint(): return - set_frame($input_0, unit_prd_k.ems_g_sock_dic.ems_input_1) - set_frame($input_1, unit_prd_k.ems_g_sock_dic.ems_input_2) - set_frame($input_2, unit_prd_k.ems_g_sock_dic.ems_input_lit_1) - set_frame($output_0, unit_prd_k.ems_g_sock_dic.ems_output_1) - set_frame($output_1, unit_prd_k.ems_g_sock_dic.ems_output_2) - set_frame($output_2, unit_prd_k.ems_g_sock_dic.ems_output_lit_1) - - -func set_frame(node_frame: Node, val: int): node_frame.set_frame(val) + $input_0.set_frame(unit_prd_k.ems_g_sock_dic.ems_input_1) + $input_1.set_frame(unit_prd_k.ems_g_sock_dic.ems_input_2) + $input_2.set_frame(unit_prd_k.ems_g_sock_dic.ems_input_lit_1) + $output_0.set_frame(unit_prd_k.ems_g_sock_dic.ems_output_1) + $output_1.set_frame(unit_prd_k.ems_g_sock_dic.ems_output_2) + $output_2.set_frame(unit_prd_k.ems_g_sock_dic.ems_output_lit_1) func _on_start_control() -> void: @@ -60,12 +57,6 @@ func _enter_tree() -> void: _update_status_text(unit_prd_k.get_current_status()) -func _exit_tree() -> void: - if Engine.is_editor_hint(): - return - #prd_k_module.cmd_array.append([unit_prd_k.CmdCode.WRITE_ISA, [constants_k.ADDR_UG_LITERA_1, ug_work_1, constants_k.ADDR_UG_LITERA_2, ug_work_2, constants_k.ADDR_UG_LITERA_3, ug_work_3]]) - - static func temperature_fill(temperature_arr_node: Array, temperature_dic: Dictionary)->void: for i_node_temperature in temperature_arr_node: var temperature_meta: String = i_node_temperature.get_meta('um') @@ -112,31 +103,18 @@ static func power_fill(pow_dic: Dictionary, fs_result: Dictionary, power_amplifi func on_press_device(_name_davice: String) -> void: - var nodes_y5: Array = get_tree().get_nodes_in_group('y-5') - var node_ip_power_arr: Array = get_tree().get_nodes_in_group('power_supply') - var fs_nodes: Array = get_tree().get_nodes_in_group('fs_group') - var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier') - var default_reset_array_node: Array = get_tree().get_nodes_in_group('default_reset') - var module_fs_1: Node = $kasseta_fs_kd/ref_A2 - var module_fs_6: Node = $kasseta_fs_kd/ref_A4 - var dou_6: Node = $dou6_A7 - var module_fs_7: Node = $kasseta_fs_kd/ref_A7 - var dou_7: Node = $dou7_A8 var control_data: Dictionary = unit_prd_k.get_control_results() - var for_control_result: Dictionary = { - 'nodes_y5': nodes_y5, - 'node_ip_power_arr': node_ip_power_arr, - 'fs_nodes': fs_nodes, - 'power_amplifier': power_amplifier, - 'default_reset_array_node': default_reset_array_node, - 'module_fs_1': module_fs_1, - 'module_fs_6': module_fs_6, - 'dou_6': dou_6, - 'module_fs_7': module_fs_7, - 'dou_7': dou_7, - } - for_control_result.merge(control_data, true) - on_control_result(for_control_result) + control_data['nodes_y5'] = get_tree().get_nodes_in_group('y-5') + control_data['node_ip_power_arr'] = get_tree().get_nodes_in_group('power_supply') + control_data['fs_nodes'] = get_tree().get_nodes_in_group('fs_group') + control_data['power_amplifier'] = get_tree().get_nodes_in_group('power_amplifier') + control_data['default_reset_array_node'] = get_tree().get_nodes_in_group('default_reset') + control_data['module_fs_1'] = $kasseta_fs_kd/ref_A2 + control_data['module_fs_6'] = $kasseta_fs_kd/ref_A4 + control_data['dou_6'] = $dou6_A7 + control_data['module_fs_7'] = $kasseta_fs_kd/ref_A7 + control_data['dou_7'] = $dou7_A8 + on_control_result(control_data) static func on_control_result(for_result_dic: Dictionary) -> void: @@ -169,6 +147,7 @@ static func on_control_result(for_result_dic: Dictionary) -> void: set_default_state(for_result_dic.default_reset_array_node) set_default_state(for_result_dic.power_amplifier) return + var result_dic: Dictionary = for_result_dic.result_dic for f in for_result_dic.fs_nodes: var fs_meta: String = f.get_meta('fs') diff --git a/scenes/pribor-prd-n/pribor-prd-n.gd b/scenes/pribor-prd-n/pribor-prd-n.gd index 8cb1684d..e712464e 100644 --- a/scenes/pribor-prd-n/pribor-prd-n.gd +++ b/scenes/pribor-prd-n/pribor-prd-n.gd @@ -30,13 +30,10 @@ func _ready() -> void: func _process(_delta: float) -> void: if Engine.is_editor_hint(): return - set_frame($input_0, unit_prd_n.ems_g_sock_dic.ems_input_1) - set_frame($input_1, unit_prd_n.ems_g_sock_dic.ems_input_2) - set_frame($output_0, unit_prd_n.ems_g_sock_dic.ems_output_1) - set_frame($output_1, unit_prd_n.ems_g_sock_dic.ems_output_2) - - -func set_frame(node_frame: Node, val: int): node_frame.set_frame(val) + $input_0.set_frame(unit_prd_n.ems_g_sock_dic.ems_input_1) + $input_1.set_frame(unit_prd_n.ems_g_sock_dic.ems_input_2) + $output_0.set_frame(unit_prd_n.ems_g_sock_dic.ems_output_1) + $output_1.set_frame(unit_prd_n.ems_g_sock_dic.ems_output_2) func _on_start_control() -> void: @@ -60,12 +57,6 @@ func _enter_tree() -> void: _update_status_text(unit_prd_n.get_current_status()) -func _exit_tree() -> void: - if Engine.is_editor_hint(): - return - #prd_n_module.cmd_array.append([unit_prd_n.CmdCode.WRITE_ISA, [constants_n.ADDR_UG_LITERA_1, ug_work_1, constants_n.ADDR_UG_LITERA_2, ug_work_2]]) - - static func temperature_fill(temperature_arr_node: Array, temperature_dic: Dictionary)->void: for i_node_temperature in temperature_arr_node: var temperature_meta: String = i_node_temperature.get_meta('um') diff --git a/scenes/pribor-prd-v/pribor-prd-v.gd b/scenes/pribor-prd-v/pribor-prd-v.gd index 3b55452f..626f208b 100644 --- a/scenes/pribor-prd-v/pribor-prd-v.gd +++ b/scenes/pribor-prd-v/pribor-prd-v.gd @@ -30,13 +30,10 @@ func _ready() -> void: func _process(_delta: float) -> void: if Engine.is_editor_hint(): return - set_frame($input_0, unit_prd_v.ems_g_sock_dic.ems_input_1) - set_frame($input_1, unit_prd_v.ems_g_sock_dic.ems_input_2) - set_frame($output_0, unit_prd_v.ems_g_sock_dic.ems_output_1) - set_frame($output_1, unit_prd_v.ems_g_sock_dic.ems_output_2) - - -func set_frame(node_frame: Node, val: int): node_frame.set_frame(val) + $input_0.set_frame(unit_prd_v.ems_g_sock_dic.ems_input_1) + $input_1.set_frame(unit_prd_v.ems_g_sock_dic.ems_input_2) + $output_0.set_frame(unit_prd_v.ems_g_sock_dic.ems_output_1) + $output_1.set_frame(unit_prd_v.ems_g_sock_dic.ems_output_2) func _on_start_control() -> void: @@ -60,11 +57,6 @@ func _enter_tree() -> void: _update_status_text(unit_prd_v.get_current_status()) -func _exit_tree() -> void: - if Engine.is_editor_hint(): - return - - static func temperature_fill(temperature_arr_node: Array, temperature_dic: Dictionary)->void: for i_node_temperature in temperature_arr_node: var temperature_meta: String = i_node_temperature.get_meta('um') diff --git a/scenes/tilemap/tilemap.gd b/scenes/tilemap/tilemap.gd index 968f0583..b3ea9577 100644 --- a/scenes/tilemap/tilemap.gd +++ b/scenes/tilemap/tilemap.gd @@ -834,5 +834,4 @@ func draw_ship_radius() -> void: var radius_point_world = Vector2(ship_world_pos.x + radius_world, ship_world_pos.y) var radius_point_screen = world_to_screen(radius_point_world) var radius_screen = ship_screen_pos.distance_to(radius_point_screen) - #draw_arc(ship_screen_pos, radius_screen, 0, TAU, 64, Color.ORANGE, 2.0) # отрисовка контура draw_circle(ship_screen_pos, radius_screen, Color.ORANGE_RED * Color(1, 1, 1, 0.1)) # отрисовка заливки diff --git a/scenes/контроль/connect_pribor.gd b/scenes/контроль/connect_pribor.gd index 4f1cf51e..7f620c0d 100644 --- a/scenes/контроль/connect_pribor.gd +++ b/scenes/контроль/connect_pribor.gd @@ -3,5 +3,7 @@ extends AnimatedSprite2D ## Изменяет состояние значка "прибор на связи" func set_val(val: bool): set_frame(val) - if val: modulate = Color(0.3, 1.0, 0.3, 1) - else: modulate = Color(0.5, 0.5, 0.5, 1) + if val: + modulate = Color(0.3, 1.0, 0.3, 1) + else: + modulate = Color(0.5, 0.5, 0.5, 1) diff --git a/scenes/контроль/panel_container.gd b/scenes/контроль/panel_container.gd new file mode 100644 index 00000000..a3477ccd --- /dev/null +++ b/scenes/контроль/panel_container.gd @@ -0,0 +1,11 @@ +extends PanelContainer + +## Изменяет состояние значка "прибор на связи" +func set_val(val: bool): + $connect_pribor.set_frame(val) + if val: + $connect_pribor.modulate = Color(0.3, 1.0, 0.3, 1) # зелёный + set_tooltip_text("Есть связь") + else: + $connect_pribor.modulate = modulate # изначальный + set_tooltip_text("Нет связи") diff --git a/scenes/контроль/panel_container.gd.uid b/scenes/контроль/panel_container.gd.uid new file mode 100644 index 00000000..028bdafd --- /dev/null +++ b/scenes/контроль/panel_container.gd.uid @@ -0,0 +1 @@ +uid://j16hg3u2uvu5 diff --git a/scenes/контроль/внешний.gd b/scenes/контроль/внешний.gd index 0596fd29..b9bf8d10 100644 --- a/scenes/контроль/внешний.gd +++ b/scenes/контроль/внешний.gd @@ -9,4 +9,4 @@ func _ready() -> void: func on_line_changed(unit_instance: unit.Unit): - $connect_pribor.set_val(unit_instance.online) + $panel_pribor.set_val(unit_instance.online) diff --git a/scenes/контроль/кнопка-прибора.gd b/scenes/контроль/кнопка-прибора.gd index b7cbe142..a6359dd2 100644 --- a/scenes/контроль/кнопка-прибора.gd +++ b/scenes/контроль/кнопка-прибора.gd @@ -10,6 +10,8 @@ func _ready(): focus_mode = Control.FOCUS_ALL connect('focus_entered', _on_focus_entered) connect('focus_exited', _on_focus_exited) + ProjectSettings.connect("settings_changed", Callable(self, "_on_settings_changed")) + _on_settings_changed() func _enter_tree() -> void: @@ -47,8 +49,17 @@ func enter_press(): func _on_settings_changed(): if not is_inside_tree(): return - var white_color = ProjectSettings.get_setting('Схема прибора. Белый цвет', Color.LIGHT_GRAY) - var black_color = ProjectSettings.get_setting('Схема прибора. Чёрный цвет', Color.BLACK) + + var white_color = ProjectSettings.get_setting('application/config/%s' % 'Цвет фона схемы', Color.DIM_GRAY) + var json_col_w = ProjectSettings.get_setting('application/config/%s' % 'Цвет фона схемы', '[0.0, 0.0, 0.0, 0.0]') + var arr_col_w = JSON.parse_string(json_col_w) + white_color = Color(arr_col_w[0], arr_col_w[1], arr_col_w[2], arr_col_w[3]) if arr_col_w else Color.DIM_GRAY + + var black_color = ProjectSettings.get_setting('application/config/%s' % 'Цвет схемы', Color.WHITE_SMOKE) + var json_col_b = ProjectSettings.get_setting('application/config/%s' % 'Цвет схемы', '[1.0, 1.0, 1.0, 1.0]') + var arr_col_b = JSON.parse_string(json_col_b) + black_color = Color(arr_col_b[0], arr_col_b[1], arr_col_b[2], arr_col_b[3]) if arr_col_b else Color.WHITE_SMOKE + $pic_functional.material.set('shader_parameter/white', white_color) $pic_functional.material.set('shader_parameter/black', black_color) diff --git a/scenes/контроль/контроль.tscn b/scenes/контроль/контроль.tscn index 6b9abf23..0f3722ae 100644 --- a/scenes/контроль/контроль.tscn +++ b/scenes/контроль/контроль.tscn @@ -1,16 +1,15 @@ -[gd_scene load_steps=33 format=3 uid="uid://lwmw4egynmd1"] +[gd_scene load_steps=34 format=3 uid="uid://lwmw4egynmd1"] [ext_resource type="Texture2D" uid="uid://bar8k5qef7kch" path="res://data/УФ.png" id="2_0nvm1"] [ext_resource type="Script" uid="uid://q3gmpsqspjfp" path="res://scenes/контроль/внешний.gd" id="2_8r80x"] [ext_resource type="Texture2D" uid="uid://bb80aigvv648i" path="res://data/кнопка-внешние-0.png" id="2_oysma"] [ext_resource type="Script" uid="uid://bj4nndrurbunl" path="res://scenes/контроль/кнопка-прибора.gd" id="3_4pt7j"] +[ext_resource type="Texture2D" uid="uid://blx6c1o1nogks" path="res://data/связь.png" id="3_8tygn"] [ext_resource type="Texture2D" uid="uid://dkqlvd750pplc" path="res://data/СПТ.png" id="3_hhadv"] [ext_resource type="Texture2D" uid="uid://b0o8jhb5jbrev" path="res://data/рамка-1.png" id="4_rasbe"] -[ext_resource type="Texture2D" uid="uid://bdlbqs88bki8x" path="res://data/connect-a.png" id="5_c621m"] [ext_resource type="Texture2D" uid="uid://d2jxmtd6n5jd1" path="res://data/Щ3.png" id="5_kvnex"] [ext_resource type="Texture2D" uid="uid://bos68thpqqvn" path="res://data/ПРД.png" id="6_i1yfn"] [ext_resource type="Texture2D" uid="uid://c6nve6f8sfyj2" path="res://data/состояние-исправности-0.png" id="7_6j01w"] -[ext_resource type="Texture2D" uid="uid://u3tnejvpm8it" path="res://data/disconnect-a.png" id="8_gs2be"] [ext_resource type="Texture2D" uid="uid://dnreyfh3cd1k2" path="res://data/состояние-исправности-1.png" id="8_isjua"] [ext_resource type="Shader" uid="uid://83fx15q1xlid" path="res://shaders/two-color.gdshader" id="9_71ec4"] [ext_resource type="Texture2D" uid="uid://b4isaggma6q3" path="res://data/Грани22.png" id="9_iqgf5"] @@ -25,6 +24,7 @@ [ext_resource type="Texture2D" uid="uid://c3cyog3gy24ft" path="res://data/У-ЭП.png" id="16_gjf0t"] [ext_resource type="Script" uid="uid://xjs7owe2iexn" path="res://scenes/контроль/control_prd.gd" id="18_lbx5w"] [ext_resource type="Texture2D" uid="uid://b2vf7en1jj8dv" path="res://data/У-РЭП-РПД-В.png" id="20_l5wui"] +[ext_resource type="Script" uid="uid://j16hg3u2uvu5" path="res://scenes/контроль/panel_container.gd" id="21_l5wui"] [ext_resource type="Texture2D" uid="uid://cllxcfa130vqu" path="res://data/УА-РЭП.png" id="22_1s34a"] [sub_resource type="GDScript" id="GDScript_iqgf5"] @@ -88,7 +88,7 @@ func _ready(): var header_text = PRIBORS_RES[k][1] pribor_node.set_button_group(group) pribor_node.connect('button_down', Callable(self, 'on_pribor_press').bind(pribor_path, header_text, pribor_node)) - var conn_node = pribor_node.get_node('connect_pribor') + var conn_node = pribor_node.get_node('panel_pribor') var unit_names = pribor_node.get_meta('unit_name', []) var pribor_proc = pribor_node.get_meta('online_proc', '') if pribor_proc == '': @@ -114,7 +114,7 @@ func _ready(): for pribor_node in get_tree().get_nodes_in_group('pribor_pics'): var unit_name = pribor_node.get_meta('unit_name') var unit_instance: = network.get_unit_instance(unit_name) - var conn_node: = pribor_node.get_node('connect_pribor') + var conn_node: = pribor_node.get_node('panel_pribor') unit_instance.connect('line_changed', on_line_changed.bind(conn_node, unit_name)) @@ -255,14 +255,17 @@ func _on_gui_input(event: InputEvent) -> void: $frame_button/chk_show_functional.disabled = true " +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4plr2"] +bg_color = Color(0.176471, 0.176471, 0.176471, 0) + [sub_resource type="SpriteFrames" id="SpriteFrames_foasq"] animations = [{ "frames": [{ "duration": 1.0, -"texture": ExtResource("8_gs2be") +"texture": ExtResource("3_8tygn") }, { "duration": 1.0, -"texture": ExtResource("5_c621m") +"texture": ExtResource("3_8tygn") }], "loop": true, "name": &"default", @@ -271,8 +274,8 @@ animations = [{ [sub_resource type="ShaderMaterial" id="ShaderMaterial_71ec4"] shader = ExtResource("9_71ec4") -shader_parameter/white = Vector3(0, 0, 0) -shader_parameter/black = Vector3(1, 1, 1) +shader_parameter/white = Vector3(0.14, 0.13, 0.13) +shader_parameter/black = Vector3(0.95, 0.55, 0.05) shader_parameter/gamma = 2.0 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_6hcgs"] @@ -336,12 +339,24 @@ text = "КАПС РПБ" horizontal_alignment = 1 vertical_alignment = 1 -[node name="connect_pribor" type="AnimatedSprite2D" parent="capsrpb"] +[node name="panel_pribor" type="PanelContainer" parent="capsrpb"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 16.0 +offset_top = -36.0 +offset_right = 107.0 +offset_bottom = 55.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="capsrpb/panel_pribor"] light_mask = 3 -position = Vector2(56, -4) -scale = Vector2(2.6, 2.6) +position = Vector2(45.7142, 45.7143) +scale = Vector2(2.113, 2.1) sprite_frames = SubResource("SpriteFrames_foasq") -script = ExtResource("11_u7tym") +frame_progress = 0.72355 [node name="5p28" type="TextureRect" parent="." groups=["pribor_pics"]] editor_description = "Кнопка для отображения внешних соединений." @@ -370,13 +385,24 @@ text = "5П28" horizontal_alignment = 1 vertical_alignment = 1 -[node name="connect_pribor" type="AnimatedSprite2D" parent="5p28"] +[node name="panel_pribor" type="PanelContainer" parent="5p28"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 16.0 +offset_top = -36.0 +offset_right = 107.0 +offset_bottom = 55.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="5p28/panel_pribor"] light_mask = 3 -position = Vector2(52, -4) -scale = Vector2(2.6, 2.6) +position = Vector2(45.7142, 45.7143) +scale = Vector2(2.113, 2.1) sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 -script = ExtResource("11_u7tym") [node name="akng" type="TextureRect" parent="." groups=["pribor_pics"]] editor_description = "Кнопка для отображения внешних соединений." @@ -405,13 +431,24 @@ text = "АКНГ" horizontal_alignment = 1 vertical_alignment = 1 -[node name="connect_pribor" type="AnimatedSprite2D" parent="akng"] +[node name="panel_pribor" type="PanelContainer" parent="akng"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 16.0 +offset_top = -36.0 +offset_right = 107.0 +offset_bottom = 55.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="akng/panel_pribor"] light_mask = 3 -position = Vector2(47.9999, -4) -scale = Vector2(2.6, 2.6) +position = Vector2(45.7142, 45.7143) +scale = Vector2(2.113, 2.1) sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 -script = ExtResource("11_u7tym") [node name="maps" type="TextureRect" parent="." groups=["pribor_pics"]] editor_description = "Кнопка для отображения внешних соединений." @@ -440,13 +477,24 @@ text = "Карты" horizontal_alignment = 1 vertical_alignment = 1 -[node name="connect_pribor" type="AnimatedSprite2D" parent="maps"] +[node name="panel_pribor" type="PanelContainer" parent="maps"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 16.0 +offset_top = -36.0 +offset_right = 107.0 +offset_bottom = 55.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="maps/panel_pribor"] light_mask = 3 -position = Vector2(47.9999, -4) -scale = Vector2(2.6, 2.6) +position = Vector2(45.7142, 45.7143) +scale = Vector2(2.113, 2.1) sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 -script = ExtResource("11_u7tym") [node name="trassa" type="TextureRect" parent="." groups=["pribor_pics"]] editor_description = "Кнопка для отображения внешних соединений." @@ -475,13 +523,24 @@ text = "Трасса" horizontal_alignment = 1 vertical_alignment = 1 -[node name="connect_pribor" type="AnimatedSprite2D" parent="trassa"] +[node name="panel_pribor" type="PanelContainer" parent="trassa"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 16.0 +offset_top = -36.0 +offset_right = 107.0 +offset_bottom = 55.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="trassa/panel_pribor"] light_mask = 3 -position = Vector2(47.9999, -4) -scale = Vector2(2.6, 2.6) +position = Vector2(45.7142, 45.7143) +scale = Vector2(2.113, 2.1) sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 -script = ExtResource("11_u7tym") [node name="pribor_prd_n_1" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." @@ -527,14 +586,6 @@ patch_margin_top = 16 patch_margin_right = 16 patch_margin_bottom = 16 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_n_1"] -light_mask = 3 -position = Vector2(35, -10) -scale = Vector2(0.625, 0.625) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="control_progress" type="TextureProgressBar" parent="pribor_prd_n_1"] visible = false layout_mode = 0 @@ -570,6 +621,25 @@ offset_bottom = 830.0 scale = Vector2(0.97094, 0.97094) texture = ExtResource("9_qe1go") +[node name="panel_pribor" type="PanelContainer" parent="pribor_prd_n_1"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 27.0 +offset_top = -19.0 +offset_right = 50.0 +offset_bottom = 5.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_n_1/panel_pribor"] +light_mask = 3 +position = Vector2(11.4285, 12.8571) +scale = Vector2(0.6, 0.596) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_uf" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -613,14 +683,6 @@ patch_margin_top = 16 patch_margin_right = 16 patch_margin_bottom = 16 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_uf"] -light_mask = 3 -position = Vector2(52, -6) -scale = Vector2(0.625, 0.625) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="pic_functional" type="TextureRect" parent="pribor_uf"] visible = false z_index = 1 @@ -656,6 +718,25 @@ texture_progress = ExtResource("10_lbx5w") tint_under = Color(1, 1, 1, 0.419608) tint_progress = Color(0.890196, 0.486275, 0.196078, 1) +[node name="panel_pribor" type="PanelContainer" parent="pribor_uf"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 44.0 +offset_top = -22.0 +offset_right = 67.0 +offset_bottom = 2.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_uf/panel_pribor"] +light_mask = 3 +position = Vector2(11.4285, 12.8571) +scale = Vector2(0.6, 0.596) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_rtr" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -710,14 +791,6 @@ text = "РТР" horizontal_alignment = 1 vertical_alignment = 1 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_rtr"] -light_mask = 3 -position = Vector2(53, -15) -scale = Vector2(0.625, 0.625) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="pic_functional" type="TextureRect" parent="pribor_rtr"] visible = false z_index = 1 @@ -730,6 +803,25 @@ offset_bottom = 595.0 scale = Vector2(0.792688, 0.792688) texture = ExtResource("13_32yvq") +[node name="panel_pribor" type="PanelContainer" parent="pribor_rtr"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 44.0 +offset_top = -26.0 +offset_right = 67.0 +offset_bottom = -2.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_rtr/panel_pribor"] +light_mask = 3 +position = Vector2(11.4285, 12.8571) +scale = Vector2(0.6, 0.596) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_afsp_1" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -788,14 +880,6 @@ text = "АФСП 1" horizontal_alignment = 1 vertical_alignment = 1 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_afsp_1"] -light_mask = 3 -position = Vector2(415, -40) -scale = Vector2(3, 3) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="pic_functional" type="TextureRect" parent="pribor_afsp_1"] visible = false z_index = 1 @@ -808,6 +892,25 @@ offset_bottom = 93.9999 scale = Vector2(3.96323, 3.96323) texture = ExtResource("13_32yvq") +[node name="panel_pribor" type="PanelContainer" parent="pribor_afsp_1"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 375.0 +offset_top = -105.0 +offset_right = 490.0 +offset_bottom = 9.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_afsp_1/panel_pribor"] +light_mask = 3 +position = Vector2(57.1431, 57.1429) +scale = Vector2(3, 2.981) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_afsp_2" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -867,14 +970,6 @@ text = "АФСП 2" horizontal_alignment = 1 vertical_alignment = 1 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_afsp_2"] -light_mask = 3 -position = Vector2(415, -40) -scale = Vector2(3, 3) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="pic_functional" type="TextureRect" parent="pribor_afsp_2"] visible = false z_index = 1 @@ -887,6 +982,25 @@ offset_bottom = 89.0001 scale = Vector2(3.96409, 4.54663) texture = ExtResource("13_32yvq") +[node name="panel_pribor" type="PanelContainer" parent="pribor_afsp_2"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 375.0 +offset_top = -105.0 +offset_right = 490.0 +offset_bottom = 9.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_afsp_2/panel_pribor"] +light_mask = 3 +position = Vector2(57.1431, 57.1429) +scale = Vector2(3, 2.981) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_uyep" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -930,14 +1044,6 @@ patch_margin_top = 16 patch_margin_right = 16 patch_margin_bottom = 16 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_uyep"] -light_mask = 3 -position = Vector2(45, -10) -scale = Vector2(0.625, 0.625) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.872305 -script = ExtResource("11_u7tym") - [node name="pic_functional" type="TextureRect" parent="pribor_uyep"] visible = false z_index = 1 @@ -950,6 +1056,25 @@ offset_bottom = 764.0 scale = Vector2(0.736875, 0.814493) texture = ExtResource("16_gjf0t") +[node name="panel_pribor" type="PanelContainer" parent="pribor_uyep"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 37.0 +offset_top = -22.0 +offset_right = 60.0 +offset_bottom = 2.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_uyep/panel_pribor"] +light_mask = 3 +position = Vector2(11.4285, 12.8571) +scale = Vector2(0.6, 0.596) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_prd_v_2" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -994,14 +1119,6 @@ patch_margin_top = 16 patch_margin_right = 16 patch_margin_bottom = 16 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_v_2"] -light_mask = 3 -position = Vector2(37, -10) -scale = Vector2(0.625, 0.625) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="control_progress" type="TextureProgressBar" parent="pribor_prd_v_2"] visible = false layout_mode = 0 @@ -1037,6 +1154,25 @@ offset_bottom = 328.0 scale = Vector2(0.977411, 0.977411) texture = ExtResource("20_l5wui") +[node name="panel_pribor" type="PanelContainer" parent="pribor_prd_v_2"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 29.0 +offset_top = -21.0 +offset_right = 52.0 +offset_bottom = 3.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_v_2/panel_pribor"] +light_mask = 3 +position = Vector2(11.4285, 12.8571) +scale = Vector2(0.6, 0.596) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_prd_n_2" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -1083,14 +1219,6 @@ patch_margin_top = 16 patch_margin_right = 16 patch_margin_bottom = 16 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_n_2"] -light_mask = 3 -position = Vector2(37, -10) -scale = Vector2(0.625, 0.625) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="pic_functional" type="TextureRect" parent="pribor_prd_n_2"] visible = false z_index = 1 @@ -1126,6 +1254,25 @@ texture_progress = ExtResource("10_lbx5w") tint_under = Color(1, 1, 1, 0.419608) tint_progress = Color(0.890196, 0.486275, 0.196078, 1) +[node name="panel_pribor" type="PanelContainer" parent="pribor_prd_n_2"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 29.0 +offset_top = -21.0 +offset_right = 52.0 +offset_bottom = 3.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_n_2/panel_pribor"] +light_mask = 3 +position = Vector2(11.4285, 12.8571) +scale = Vector2(0.6, 0.596) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_prd_k_2" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -1170,14 +1317,6 @@ patch_margin_top = 16 patch_margin_right = 16 patch_margin_bottom = 16 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_k_2"] -light_mask = 3 -position = Vector2(37, -10) -scale = Vector2(0.625, 0.625) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="pic_functional" type="TextureRect" parent="pribor_prd_k_2"] visible = false z_index = 1 @@ -1213,6 +1352,25 @@ texture_progress = ExtResource("10_lbx5w") tint_under = Color(1, 1, 1, 0.419608) tint_progress = Color(0.890196, 0.486275, 0.196078, 1) +[node name="panel_pribor" type="PanelContainer" parent="pribor_prd_k_2"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 29.0 +offset_top = -21.0 +offset_right = 52.0 +offset_bottom = 3.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_k_2/panel_pribor"] +light_mask = 3 +position = Vector2(11.4285, 12.8571) +scale = Vector2(0.6, 0.596) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_prd_v_3" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -1257,14 +1415,6 @@ patch_margin_top = 16 patch_margin_right = 16 patch_margin_bottom = 16 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_v_3"] -light_mask = 3 -position = Vector2(35, -10) -scale = Vector2(0.625, 0.625) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="control_progress" type="TextureProgressBar" parent="pribor_prd_v_3"] visible = false layout_mode = 0 @@ -1300,6 +1450,25 @@ offset_bottom = 207.0 scale = Vector2(0.975409, 0.975409) texture = ExtResource("20_l5wui") +[node name="panel_pribor" type="PanelContainer" parent="pribor_prd_v_3"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 27.0 +offset_top = -20.0 +offset_right = 50.0 +offset_bottom = 4.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_v_3/panel_pribor"] +light_mask = 3 +position = Vector2(11.4285, 12.8571) +scale = Vector2(0.6, 0.596) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_prd_n_3" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -1344,14 +1513,6 @@ patch_margin_top = 16 patch_margin_right = 16 patch_margin_bottom = 16 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_n_3"] -light_mask = 3 -position = Vector2(33, -10) -scale = Vector2(0.625, 0.625) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="control_progress" type="TextureProgressBar" parent="pribor_prd_n_3"] visible = false layout_mode = 0 @@ -1387,6 +1548,25 @@ offset_bottom = 219.0 scale = Vector2(0.969291, 0.969291) texture = ExtResource("9_qe1go") +[node name="panel_pribor" type="PanelContainer" parent="pribor_prd_n_3"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 25.0 +offset_top = -21.0 +offset_right = 48.0 +offset_bottom = 3.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_n_3/panel_pribor"] +light_mask = 3 +position = Vector2(11.4285, 12.8571) +scale = Vector2(0.6, 0.596) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_prd_k_3" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -1431,14 +1611,6 @@ patch_margin_top = 16 patch_margin_right = 16 patch_margin_bottom = 16 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_k_3"] -light_mask = 3 -position = Vector2(35, -10) -scale = Vector2(0.625, 0.625) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="control_progress" type="TextureProgressBar" parent="pribor_prd_k_3"] visible = false layout_mode = 0 @@ -1474,6 +1646,25 @@ offset_bottom = 361.0 scale = Vector2(0.882165, 0.896739) texture = ExtResource("16_32yvq") +[node name="panel_pribor" type="PanelContainer" parent="pribor_prd_k_3"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 27.0 +offset_top = -20.0 +offset_right = 50.0 +offset_bottom = 4.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_k_3/panel_pribor"] +light_mask = 3 +position = Vector2(11.4285, 12.8571) +scale = Vector2(0.6, 0.596) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_prd_v_1" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -1518,14 +1709,6 @@ patch_margin_top = 16 patch_margin_right = 16 patch_margin_bottom = 16 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_v_1"] -light_mask = 3 -position = Vector2(34, -10) -scale = Vector2(0.625, 0.625) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="pic_functional" type="TextureRect" parent="pribor_prd_v_1"] visible = false z_index = 1 @@ -1561,6 +1744,24 @@ texture_progress = ExtResource("10_lbx5w") tint_under = Color(1, 1, 1, 0.419608) tint_progress = Color(0.890196, 0.486275, 0.196078, 1) +[node name="panel_pribor" type="PanelContainer" parent="pribor_prd_v_1"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 26.0 +offset_top = -20.0 +offset_right = 42.0 +offset_bottom = -4.0 +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_v_1/panel_pribor"] +light_mask = 3 +position = Vector2(8, 8) +scale = Vector2(0.4, 0.4) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_prd_k_1" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -1605,14 +1806,6 @@ patch_margin_top = 16 patch_margin_right = 16 patch_margin_bottom = 16 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_k_1"] -light_mask = 3 -position = Vector2(35, -10) -scale = Vector2(0.625, 0.625) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="control_progress" type="TextureProgressBar" parent="pribor_prd_k_1"] visible = false layout_mode = 0 @@ -1648,6 +1841,25 @@ offset_bottom = 973.0 scale = Vector2(0.883479, 0.883479) texture = ExtResource("16_32yvq") +[node name="panel_pribor" type="PanelContainer" parent="pribor_prd_k_1"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 27.0 +offset_top = -21.0 +offset_right = 50.0 +offset_bottom = 3.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_k_1/panel_pribor"] +light_mask = 3 +position = Vector2(11.4285, 12.8571) +scale = Vector2(0.6, 0.596) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_prd_v_4" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -1691,14 +1903,6 @@ patch_margin_top = 16 patch_margin_right = 16 patch_margin_bottom = 16 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_v_4"] -light_mask = 3 -position = Vector2(41, -10) -scale = Vector2(0.625, 0.625) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="control_progress" type="TextureProgressBar" parent="pribor_prd_v_4"] visible = false layout_mode = 0 @@ -1734,6 +1938,25 @@ offset_bottom = 664.0 scale = Vector2(0.976707, 0.976707) texture = ExtResource("20_l5wui") +[node name="panel_pribor" type="PanelContainer" parent="pribor_prd_v_4"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 33.0 +offset_top = -21.0 +offset_right = 56.0 +offset_bottom = 3.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_v_4/panel_pribor"] +light_mask = 3 +position = Vector2(11.4285, 12.8571) +scale = Vector2(0.6, 0.596) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_prd_n_4" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -1777,14 +2000,6 @@ patch_margin_top = 16 patch_margin_right = 16 patch_margin_bottom = 16 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_n_4"] -light_mask = 3 -position = Vector2(40, -10) -scale = Vector2(0.625, 0.625) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="control_progress" type="TextureProgressBar" parent="pribor_prd_n_4"] visible = false layout_mode = 0 @@ -1820,6 +2035,25 @@ offset_bottom = 336.0 scale = Vector2(0.968111, 0.968111) texture = ExtResource("9_qe1go") +[node name="panel_pribor" type="PanelContainer" parent="pribor_prd_n_4"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 32.0 +offset_top = -20.0 +offset_right = 55.0 +offset_bottom = 4.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_n_4/panel_pribor"] +light_mask = 3 +position = Vector2(11.4285, 12.8571) +scale = Vector2(0.6, 0.596) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="pribor_prd_k_4" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -1863,14 +2097,6 @@ patch_margin_top = 16 patch_margin_right = 16 patch_margin_bottom = 16 -[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_k_4"] -light_mask = 3 -position = Vector2(39, -10) -scale = Vector2(0.625, 0.625) -sprite_frames = SubResource("SpriteFrames_foasq") -frame_progress = 0.72355 -script = ExtResource("11_u7tym") - [node name="control_progress" type="TextureProgressBar" parent="pribor_prd_k_4"] visible = false layout_mode = 0 @@ -1906,6 +2132,25 @@ offset_bottom = 648.0 scale = Vector2(0.879295, 0.879295) texture = ExtResource("16_32yvq") +[node name="panel_pribor" type="PanelContainer" parent="pribor_prd_k_4"] +custom_minimum_size = Vector2(10, 10) +layout_mode = 0 +offset_left = 31.0 +offset_top = -20.0 +offset_right = 54.0 +offset_bottom = 4.0 +scale = Vector2(0.7, 0.7) +tooltip_text = "Нет связи" +theme_override_styles/panel = SubResource("StyleBoxFlat_4plr2") +script = ExtResource("21_l5wui") + +[node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_k_4/panel_pribor"] +light_mask = 3 +position = Vector2(11.4285, 12.8571) +scale = Vector2(0.6, 0.596) +sprite_frames = SubResource("SpriteFrames_foasq") +frame_progress = 0.72355 + [node name="txr_legend0" type="TextureRect" parent="."] layout_mode = 0 offset_left = 316.0 @@ -1998,17 +2243,17 @@ alignment = 1 [node name="connect_legend0" type="AnimatedSprite2D" parent="."] light_mask = 3 -position = Vector2(1219, 1151) +position = Vector2(1312, 1151) scale = Vector2(0.65, 0.65) sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 script = ExtResource("11_u7tym") [node name="Label" type="Label" parent="connect_legend0"] -offset_left = 36.9231 -offset_top = -15.3846 -offset_right = 103.923 -offset_bottom = 3.61538 +offset_left = 27.6924 +offset_top = -16.923 +offset_right = 94.6923 +offset_bottom = 2.07697 scale = Vector2(1.54, 1.54) text = "Отключен" metadata/_edit_use_anchors_ = true @@ -2016,17 +2261,17 @@ metadata/_edit_use_anchors_ = true [node name="connect_legend1" type="AnimatedSprite2D" parent="."] self_modulate = Color(0, 1, 0, 1) light_mask = 3 -position = Vector2(975, 1152) +position = Vector2(1072, 1151) scale = Vector2(0.65, 0.65) sprite_frames = SubResource("SpriteFrames_foasq") frame = 1 script = ExtResource("11_u7tym") [node name="Label" type="Label" parent="connect_legend1"] -offset_left = 36.9231 -offset_top = -13.8462 -offset_right = 99.9231 -offset_bottom = 5.15385 +offset_left = 27.6923 +offset_top = -16.9231 +offset_right = 90.6923 +offset_bottom = 2.0769 scale = Vector2(1.54, 1.54) text = "На связи" metadata/_edit_use_anchors_ = true diff --git a/scenes/настройки/настройки.gd b/scenes/настройки/настройки.gd index 58dc66a3..bfe61a0d 100644 --- a/scenes/настройки/настройки.gd +++ b/scenes/настройки/настройки.gd @@ -64,8 +64,11 @@ const SETTING_TABLE = [ ['Включить работу по своим целям', TableEdit, TableToggle, 'Разрешает работу в секторе со своей целью'], ['Список своих протоколов', TableEdit, TableEdit, 'Список протоколов целей, по которым запрещено работать' ], ['Цвет кнопки \"Подавление\"', TableEdit, TableColorPick, 'Цвет кнопки. Введено по требованию ПЗ' ], - ['Коэффициент ширины полосы излучения', TableEdit, TableEdit, 'Изменение ширины полосы излучения помехи в зависимости от цели'], - ['Время повторной отправки помехи', TableEdit, TableEdit, 'Время повторной отправки помехи, с'], ] + ['Цвет кнопки \"Подавление\"', TableEdit, TableColorPick, 'Цвет кнопки. Введено по требованию ПЗ' ], + ['Цвет фона схемы', TableEdit, TableColorPick, 'Схема прибора Э2. Изменение цвет фона'], + ['Цвет схемы', TableEdit, TableColorPick, 'Схема прибора Э2. Изменение цвет схемы '], + ['Коэффициент ширины полосы излучения', TableEdit, TableEdit, 'Изменение ширины полосы излучения помехи в зависимости от цели'] ] + ## TODO: Придумать как избавиться от индексов ## Индексы строк таблицы. @@ -78,6 +81,8 @@ const DEBAG_CONTROL = 21 ## Строка - Отладка контроля const COMMIT = 22 ## Строка - Версия УАРЭП const GOS_BTN = 52 ## Разрешить работу по своим целям const COLOR_BTN_ACT = 54 ## Цвет кнопки "Подавление" +const COLOR_WHITE = 55 ## Цвет фона схемы +const COLOR_BLACK = 56 ## Цвет схемы var name_to_line_index: = {} ## Для преобразования названия параметра в номер строки @@ -251,6 +256,37 @@ func button_settings(): var arr_col = JSON.parse_string(json_col) color_btn_act.color = Color(arr_col[0], arr_col[1], arr_col[2], arr_col[3]) if arr_col else Color.WHITE color_btn_act.text = JSON.stringify(arr_col) + var color_white = $scroll_set/table.get_node2(1, COLOR_WHITE) + color_white.connect('popup_closed', on_color_closed_w.bind(color_white)) + var json_col_w = ProjectSettings.get_setting('application/config/%s' % 'Цвет фона схемы', '[0.0, 0.0, 0.0, 0.0]') + var arr_col_w = JSON.parse_string(json_col_w) + color_white.color = Color(arr_col_w[0], arr_col_w[1], arr_col_w[2], arr_col_w[3]) if arr_col_w else Color.DIM_GRAY + color_white.text = JSON.stringify(arr_col_w) + var color_black = $scroll_set/table.get_node2(1, COLOR_BLACK) + color_black.connect('popup_closed', on_color_closed_b.bind(color_black)) + var json_col_b = ProjectSettings.get_setting('application/config/%s' % 'Цвет схемы', '[1.0, 1.0, 1.0, 1.0]') + var arr_col_b = JSON.parse_string(json_col_b) + color_black.color = Color(arr_col_b[0], arr_col_b[1], arr_col_b[2], arr_col_b[3]) if arr_col_b else Color.WHITE_SMOKE + color_black.text = JSON.stringify(arr_col_b) + + +func _update_theme_colors(): + var color_white = $scroll_set/table.get_node2(1, COLOR_WHITE) + var color_black = $scroll_set/table.get_node2(1, COLOR_BLACK) + on_color_closed_w(color_white) + on_color_closed_b(color_black) + + +func on_color_closed_w(color_white: ColorPickerButton): + var col_w = [color_white.color.r, color_white.color.g, color_white.color.b, color_white.color.a] + color_white.text = JSON.stringify(col_w) + ProjectSettings.set_setting('application/config/%s' % 'Цвет фона схемы', color_white.text) + + +func on_color_closed_b(color_black: ColorPickerButton): + var col_b = [color_black.color.r, color_black.color.g, color_black.color.b, color_black.color.a] + color_black.text = JSON.stringify(col_b) + ProjectSettings.set_setting('application/config/%s' % 'Цвет схемы', color_black.text) func on_color_closed(color_btn_act: ColorPickerButton): diff --git a/scenes/работа/работа.gd b/scenes/работа/работа.gd index 7f80c6cc..28a4c976 100644 --- a/scenes/работа/работа.gd +++ b/scenes/работа/работа.gd @@ -467,7 +467,7 @@ func get_strob_band(pos: Vector2, prev: float) -> float: ## Устанавливает центр строба по частоте и направлению. func set_strob(pos: Vector2) -> void: - var radp: Vector2 = tools.map_dec_to_rad(radius_center, pos) + var radp: Vector2 = tools.map_dec_to_rad(radius_center, pos / 2.0) if radp.y < $canvas.get_radius_outter(): $canvas.set_strob_dir(radp.x) $canvas.set_strob_radius(radp.y) diff --git a/scenes/работа/работа.tscn b/scenes/работа/работа.tscn index c8fd4dff..8d9c5f26 100644 --- a/scenes/работа/работа.tscn +++ b/scenes/работа/работа.tscn @@ -74,18 +74,24 @@ strob_min_band = 0.1 strob_min_width = 5.0 metadata/_edit_vertical_guides_ = [] -[node name="btn_view" type="CheckBox" parent="."] +[node name="canvas" parent="." instance=ExtResource("11_b6su4")] layout_mode = 0 -offset_left = 835.0 -offset_top = 5.0 -offset_right = 994.0 -offset_bottom = 32.0 +offset_left = 280.0 +offset_top = 280.0 +offset_right = 840.0 +offset_bottom = 840.0 +pivot_offset = Vector2(280, 280) + +[node name="btn_view" type="CheckBox" parent="canvas"] +layout_mode = 0 +offset_left = 417.5 +offset_top = 2.5 +offset_right = 576.5 +offset_bottom = 29.5 +scale = Vector2(0.5, 0.5) action_mode = 0 text = "Обзорная карта" -[node name="canvas" parent="." instance=ExtResource("11_b6su4")] -metadata/_edit_lock_ = true - [node name="tilemap" parent="." instance=ExtResource("10_gtwyg")] self_modulate = Color(1, 1, 1, 0.415686) position = Vector2(360, 360) @@ -378,7 +384,7 @@ texture_normal = ExtResource("14_ggrwd") [connection signal="drag_begin" from="." to="." method="_on_drag_begin"] [connection signal="drag_continue" from="." to="." method="_on_drag_continue"] -[connection signal="toggled" from="btn_view" to="." method="on_button_view_toggled"] +[connection signal="toggled" from="canvas/btn_view" to="." method="on_button_view_toggled"] [connection signal="toggled" from="chk_auto" to="." method="on_value_changed"] [connection signal="toggled" from="btn_activate" to="." method="on_btn_activate_toggled"] [connection signal="toggled" from="btn_center" to="." method="on_btn_center_toggled"] diff --git a/scenes/эмс/эмс.tscn b/scenes/эмс/эмс.tscn index 32717b0e..d88aa9a8 100644 --- a/scenes/эмс/эмс.tscn +++ b/scenes/эмс/эмс.tscn @@ -4,8 +4,8 @@ [ext_resource type="PackedScene" uid="uid://da7w3vkhadfwe" path="res://scenes/button-flat/button-flat.tscn" id="2_eju8r"] [ext_resource type="Texture2D" uid="uid://csnts8f155sf7" path="res://data/save1.png" id="3_onafb"] [ext_resource type="Texture2D" uid="uid://o8mam0a060d8" path="res://data/load1.png" id="4_afjfs"] -[ext_resource type="Texture2D" uid="uid://bdlbqs88bki8x" path="res://data/connect-a.png" id="5_2nrut"] -[ext_resource type="Texture2D" uid="uid://u3tnejvpm8it" path="res://data/disconnect-a.png" id="6_g3q7m"] +[ext_resource type="Texture2D" uid="uid://bdlbqs88bki8x" path="res://data/connect-a.png" id="5_wk8og"] +[ext_resource type="Texture2D" uid="uid://u3tnejvpm8it" path="res://data/disconnect-a.png" id="6_1fbmy"] [ext_resource type="Script" uid="uid://c5pq0hbrij34d" path="res://table/table.gd" id="8_qcl30"] [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_mu34x"] @@ -35,30 +35,30 @@ modulate_color = Color(0.8, 0.533333, 0.27451, 1) texture = ExtResource("4_afjfs") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_o7qii"] -texture = ExtResource("5_2nrut") +texture = ExtResource("5_wk8og") modulate_color = Color(0.8, 0.533333, 0.27451, 1) [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_mgr7r"] -texture = ExtResource("5_2nrut") +texture = ExtResource("5_wk8og") expand_margin_left = 3.0 expand_margin_top = 3.0 modulate_color = Color(0.8, 0.533333, 0.27451, 1) [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_hxhyh"] -texture = ExtResource("5_2nrut") +texture = ExtResource("5_wk8og") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_tnihm"] -texture = ExtResource("6_g3q7m") +texture = ExtResource("6_1fbmy") modulate_color = Color(0.8, 0.533333, 0.27451, 1) [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_k1qbi"] -texture = ExtResource("6_g3q7m") +texture = ExtResource("6_1fbmy") expand_margin_left = 3.0 expand_margin_top = 3.0 modulate_color = Color(0.8, 0.533333, 0.27451, 1) [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_pe5pe"] -texture = ExtResource("6_g3q7m") +texture = ExtResource("6_1fbmy") [node name="ЭМС" type="Panel"] offset_right = 1598.0 @@ -126,10 +126,10 @@ theme_override_styles/normal = SubResource("StyleBoxTexture_3ytmi") [node name="btn_connect" type="Button" parent="."] layout_mode = 0 -offset_left = 627.0 -offset_top = 55.0 -offset_right = 679.0 -offset_bottom = 87.0 +offset_left = 716.0 +offset_top = 40.0 +offset_right = 763.0 +offset_bottom = 73.0 focus_mode = 0 theme_override_colors/icon_normal_color = Color(1, 1, 1, 1) theme_override_styles/focus = SubResource("StyleBoxTexture_o7qii") @@ -141,10 +141,10 @@ theme_override_styles/normal = SubResource("StyleBoxTexture_hxhyh") [node name="btn_disconnect" type="Button" parent="."] layout_mode = 0 -offset_left = 714.0 -offset_top = 741.0 -offset_right = 766.0 -offset_bottom = 775.0 +offset_left = 718.0 +offset_top = 735.0 +offset_right = 764.0 +offset_bottom = 764.0 focus_mode = 0 theme_override_colors/icon_normal_color = Color(1, 1, 1, 1) theme_override_styles/focus = SubResource("StyleBoxTexture_tnihm") diff --git a/scenes/эмс2/эмс-тг.gd b/scenes/эмс2/эмс-тг.gd index 88c93a61..1bb69d43 100644 --- a/scenes/эмс2/эмс-тг.gd +++ b/scenes/эмс2/эмс-тг.gd @@ -8,31 +8,8 @@ func _ready() -> void: func on_trassa_line_changed(unit_trassa): - if unit_trassa.online: - $'454/СостояниеРэс3'.self_modulate = Color.WEB_GREEN - $'СкруглённыйПрямоугольникБелый/Label3'.text = 'Трасса' - $'СкруглённыйПрямоугольникБелый/Label4'.text = 'Трасса' - $'СкруглённыйПрямоугольникБелый/Label5'.text = 'Активный' - $'СкруглённыйПрямоугольникБелый/Label6'.text = str(unit_trassa.daa) - $'СкруглённыйПрямоугольникБелый/Label7'.text = str(unit_trassa.dap) - $'СкруглённыйПрямоугольникБелый/Label8'.text = '1' - $'СкруглённыйПрямоугольникБелый/Label9'.text = str(unit_trassa.lfb) - $'СкруглённыйПрямоугольникБелый/Label10'.text = str(unit_trassa.lfb) - else: - $'454/СостояниеРэс3'.self_modulate = Color.WHITE - $'СкруглённыйПрямоугольникБелый/Label3'.text = '-' - $'СкруглённыйПрямоугольникБелый/Label4'.text = '-' - $'СкруглённыйПрямоугольникБелый/Label5'.text = '-' - $'СкруглённыйПрямоугольникБелый/Label6'.text = '-' - $'СкруглённыйПрямоугольникБелый/Label7'.text = '-' - $'СкруглённыйПрямоугольникБелый/Label8'.text = '-' - $'СкруглённыйПрямоугольникБелый/Label9'.text = '-' - $'СкруглённыйПрямоугольникБелый/Label10'.text = '-' + pass func on_sector_klaster(_data, unit_trassa): - $'СкруглённыйПрямоугольникБелый/Label6'.text = str(unit_trassa.dap) - $'СкруглённыйПрямоугольникБелый/Label7'.text = str(unit_trassa.daa) - $'СкруглённыйПрямоугольникБелый/Label8'.text = '1' - $'СкруглённыйПрямоугольникБелый/Label9'.text = str(unit_trassa.lfb) - $'СкруглённыйПрямоугольникБелый/Label10'.text = str(unit_trassa.hfb) + pass diff --git a/scenes/эмс2/эмс2.tscn b/scenes/эмс2/эмс2.tscn index fd4280ec..f2431c79 100644 --- a/scenes/эмс2/эмс2.tscn +++ b/scenes/эмс2/эмс2.tscn @@ -3,17 +3,17 @@ [ext_resource type="Texture2D" uid="uid://hkcvl2waf63s" path="res://data/вид сверху.png" id="1_b7vcf"] [ext_resource type="Script" uid="uid://bvlqgv7aapebl" path="res://scenes/эмс2/эмс-тг.gd" id="1_l3ueu"] [ext_resource type="Texture2D" uid="uid://0w6q4vfst0ry" path="res://data/OP-63.png" id="3_8gk36"] -[ext_resource type="Texture2D" uid="uid://coxhivvc6uibs" path="res://data/Состояние РЭС 40.png" id="4_b3mus"] +[ext_resource type="Texture2D" uid="uid://b85f1ne2wrwhg" path="res://data/Состояние РЭС 4.png" id="4_b5v2s"] [ext_resource type="Texture2D" uid="uid://073el51yholj" path="res://data/454.png" id="4_nqi0i"] [ext_resource type="Texture2D" uid="uid://cckk3jk5r32bh" path="res://data/ГО.png" id="5_e7tlv"] -[ext_resource type="Texture2D" uid="uid://bu88bqq7hrotv" path="res://data/Состояние РЭС 20.png" id="5_yqn2y"] +[ext_resource type="Texture2D" uid="uid://6ar7sux3vcv1" path="res://data/Состояние РЭС 2.png" id="5_p41nv"] [ext_resource type="Texture2D" uid="uid://di30dfvbbdnms" path="res://data/Состояние РЭС 1.png" id="6_m57px"] [ext_resource type="Texture2D" uid="uid://kyrnn1mqpc08" path="res://data/РЛС1.png" id="6_y58bl"] [ext_resource type="Texture2D" uid="uid://cx0f3wcx76u1k" path="res://data/РЛС2.png" id="7_mxw8g"] [ext_resource type="Texture2D" uid="uid://duu8q7sv0jwfh" path="res://data/ННВС.png" id="8_q16jd"] [ext_resource type="Texture2D" uid="uid://c1nld5t17kws3" path="res://data/Состояние ЭМС слабый сигнал.png" id="9_5u4bk"] +[ext_resource type="Texture2D" uid="uid://docnrxrm2f022" path="res://data/Угловой квадрат3.png" id="13_5ifkb"] [ext_resource type="Texture2D" uid="uid://djv8fkddcjucs" path="res://data/Скруглённый квадрат белый.png" id="15_2spgl"] -[ext_resource type="Texture2D" uid="uid://hd76uw2shjtn" path="res://data/Угловой квадрат2.png" id="16_b5v2s"] [ext_resource type="Texture2D" uid="uid://d3qui21aom1ac" path="res://data/Квадрат марс 454.png" id="17_p41nv"] [ext_resource type="Texture2D" uid="uid://cxrggrvx6l22q" path="res://data/Квадрат марс ОР-63.png" id="18_5ifkb"] [ext_resource type="Texture2D" uid="uid://by6a12oahbg82" path="res://data/Квадрат марс РЛС1.png" id="19_vyjnq"] @@ -28,8 +28,8 @@ [ext_resource type="Texture2D" uid="uid://cyb60nh23ys6k" path="res://data/Квадрат салатный ГО.png" id="27_2ft3r"] [ext_resource type="Texture2D" uid="uid://cw8sd7v5f31ww" path="res://data/Квадрат салатный с трубкой.png" id="28_rra4y"] [ext_resource type="Texture2D" uid="uid://busl8rb38lis" path="res://data/Скруглённый прямоуг салатный.png" id="29_5u4bk"] -[ext_resource type="Texture2D" uid="uid://xux3mch12733" path="res://data/Приём.png" id="30_l3ueu"] -[ext_resource type="Texture2D" uid="uid://bw2sx5d0mcu53" path="res://data/Излучение.png" id="31_2spgl"] +[ext_resource type="Texture2D" uid="uid://c6etralq2tvxg" path="res://data/Приёмник.png" id="29_vyjnq"] +[ext_resource type="Texture2D" uid="uid://c73tjrn8gr00o" path="res://data/Передатчик.png" id="30_68srw"] [ext_resource type="Texture2D" uid="uid://7ody4v7qy36g" path="res://data/Скруглённый прямоугольник серый.png" id="31_b5v2s"] [ext_resource type="Texture2D" uid="uid://carr8bw5rwiwj" path="res://data/Кнопка подтверждения01.png" id="32_p41nv"] [ext_resource type="Texture2D" uid="uid://3siondd3feev" path="res://data/Скруглённый прямоугольник белый.png" id="33_5ifkb"] @@ -69,12 +69,12 @@ texture = ExtResource("3_8gk36") [node name="СостояниеРэс44" type="Sprite2D" parent="Op-63"] position = Vector2(277.772, 259.444) scale = Vector2(1.77945, 1.77945) -texture = ExtResource("4_b3mus") +texture = ExtResource("4_b5v2s") [node name="СостояниеРэс24" type="Sprite2D" parent="Op-63"] position = Vector2(277.772, 192.18) scale = Vector2(1.77945, 1.77945) -texture = ExtResource("5_yqn2y") +texture = ExtResource("5_p41nv") [node name="СостояниеРэс2" type="Sprite2D" parent="Op-63"] visible = false @@ -94,12 +94,12 @@ texture = ExtResource("4_nqi0i") [node name="СостояниеРэс45" type="Sprite2D" parent="454"] position = Vector2(277.956, 259.615) scale = Vector2(1.78063, 1.78063) -texture = ExtResource("4_b3mus") +texture = ExtResource("4_b5v2s") [node name="СостояниеРэс25" type="Sprite2D" parent="454"] position = Vector2(277.956, 192.308) scale = Vector2(1.78063, 1.78063) -texture = ExtResource("5_yqn2y") +texture = ExtResource("5_p41nv") [node name="СостояниеРэс3" type="Sprite2D" parent="454"] position = Vector2(275.641, 38.4615) @@ -127,12 +127,12 @@ texture = ExtResource("5_e7tlv") [node name="СостояниеРэс40" type="Sprite2D" parent="Го"] position = Vector2(278.045, 253.205) scale = Vector2(1.78063, 1.78063) -texture = ExtResource("4_b3mus") +texture = ExtResource("4_b5v2s") [node name="СостояниеРэс20" type="Sprite2D" parent="Го"] position = Vector2(278.045, 185.897) scale = Vector2(1.78063, 1.78063) -texture = ExtResource("5_yqn2y") +texture = ExtResource("5_p41nv") [node name="СостояниеЭмсСлабыйСигнал" type="Sprite2D" parent="Го"] position = Vector2(278.045, 118.59) @@ -151,12 +151,12 @@ texture = ExtResource("6_y58bl") [node name="СостояниеРэс41" type="Sprite2D" parent="Рлс1"] position = Vector2(278.045, 259.615) scale = Vector2(1.78063, 1.78063) -texture = ExtResource("4_b3mus") +texture = ExtResource("4_b5v2s") [node name="СостояниеРэс21" type="Sprite2D" parent="Рлс1"] position = Vector2(278.045, 192.308) scale = Vector2(1.78063, 1.78063) -texture = ExtResource("5_yqn2y") +texture = ExtResource("5_p41nv") [node name="СостояниеЭмсСлабыйСигнал2" type="Sprite2D" parent="Рлс1"] position = Vector2(278.045, 125) @@ -175,12 +175,12 @@ texture = ExtResource("7_mxw8g") [node name="СостояниеРэс42" type="Sprite2D" parent="Рлс2"] position = Vector2(278.045, 259.615) scale = Vector2(1.78063, 1.78063) -texture = ExtResource("4_b3mus") +texture = ExtResource("4_b5v2s") [node name="СостояниеРэс22" type="Sprite2D" parent="Рлс2"] position = Vector2(278.045, 192.308) scale = Vector2(1.78063, 1.78063) -texture = ExtResource("5_yqn2y") +texture = ExtResource("5_p41nv") [node name="СостояниеЭмсСлабыйСигнал3" type="Sprite2D" parent="Рлс2"] position = Vector2(278.045, 125) @@ -199,16 +199,16 @@ texture = ExtResource("8_q16jd") [node name="СостояниеРэс43" type="Sprite2D" parent="Ннвс"] position = Vector2(277.956, 253.205) scale = Vector2(1.78063, 1.78063) -texture = ExtResource("4_b3mus") +texture = ExtResource("4_b5v2s") [node name="СостояниеРэс23" type="Sprite2D" parent="Ннвс"] position = Vector2(277.956, 185.897) scale = Vector2(1.78063, 1.78063) -texture = ExtResource("5_yqn2y") +texture = ExtResource("5_p41nv") [node name="УгловойКвадрат2" type="Sprite2D" parent="."] position = Vector2(1250, 824) -texture = ExtResource("16_b5v2s") +texture = ExtResource("13_5ifkb") [node name="КвадратМарс454" type="Sprite2D" parent="УгловойКвадрат2"] position = Vector2(0, 49) @@ -403,148 +403,171 @@ position = Vector2(196, 196) texture = ExtResource("26_2spgl") [node name="СкруглённыйПрямоугСалатный" type="Sprite2D" parent="."] -position = Vector2(84, 828) +position = Vector2(101, 828) +scale = Vector2(1.74359, 1.16667) +texture = ExtResource("29_5u4bk") + +[node name="СкруглённыйПрямоугСалатный12" type="Sprite2D" parent="."] +position = Vector2(220, 828) scale = Vector2(1.33333, 1.16667) texture = ExtResource("29_5u4bk") -[node name="СкруглённыйПрямоугСалатный4" type="Sprite2D" parent="СкруглённыйПрямоугСалатный"] -position = Vector2(660, 0) +[node name="СкруглённыйПрямоугСалатный4" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] +position = Vector2(582, 0) +scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") -[node name="СкруглённыйПрямоугСалатный5" type="Sprite2D" parent="СкруглённыйПрямоугСалатный"] -position = Vector2(774, 0) +[node name="СкруглённыйПрямоугСалатный5" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] +position = Vector2(696, 0) +scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") -[node name="СкруглённыйПрямоугСалатный6" type="Sprite2D" parent="СкруглённыйПрямоугСалатный"] -position = Vector2(546, 0) -texture = ExtResource("29_5u4bk") - -[node name="СкруглённыйПрямоугСалатный7" type="Sprite2D" parent="СкруглённыйПрямоугСалатный"] +[node name="СкруглённыйПрямоугСалатный6" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] position = Vector2(468, 0) +scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") -[node name="СкруглённыйПрямоугСалатный8" type="Sprite2D" parent="СкруглённыйПрямоугСалатный"] +[node name="СкруглённыйПрямоугСалатный7" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] position = Vector2(390, 0) +scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") -[node name="СкруглённыйПрямоугСалатный9" type="Sprite2D" parent="СкруглённыйПрямоугСалатный"] +[node name="СкруглённыйПрямоугСалатный8" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] position = Vector2(312, 0) +scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") -[node name="СкруглённыйПрямоугСалатный10" type="Sprite2D" parent="СкруглённыйПрямоугСалатный"] +[node name="СкруглённыйПрямоугСалатный9" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] position = Vector2(234, 0) +scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") -[node name="СкруглённыйПрямоугСалатный11" type="Sprite2D" parent="СкруглённыйПрямоугСалатный"] +[node name="СкруглённыйПрямоугСалатный10" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] position = Vector2(156, 0) +scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") -[node name="СкруглённыйПрямоугСалатный12" type="Sprite2D" parent="СкруглённыйПрямоугСалатный"] +[node name="СкруглённыйПрямоугСалатный11" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] position = Vector2(78, 0) +scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") -[node name="Приём" type="Sprite2D" parent="СкруглённыйПрямоугСалатный"] -position = Vector2(717, 0) +[node name="Приём" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] +position = Vector2(639, 0) scale = Vector2(0.75, 1) -texture = ExtResource("30_l3ueu") +texture = ExtResource("29_vyjnq") -[node name="Излучение" type="Sprite2D" parent="СкруглённыйПрямоугСалатный"] -position = Vector2(603, 0) +[node name="Излучение" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] +position = Vector2(525, 0) scale = Vector2(0.75, 1) -texture = ExtResource("31_2spgl") +texture = ExtResource("30_68srw") -[node name="Label2" type="Label" parent="СкруглённыйПрямоугСалатный"] -offset_left = 48.75 +[node name="Label2" type="Label" parent="СкруглённыйПрямоугСалатный12"] +offset_left = -29.25 offset_top = -10.2857 -offset_right = 108.75 -offset_bottom = 8.7143 +offset_right = 30.75 +offset_bottom = 8.71429 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "Изделие" +metadata/_edit_use_anchors_ = true -[node name="Label" type="Label" parent="СкруглённыйПрямоугСалатный"] -offset_left = -33.0 -offset_top = -17.1429 -offset_right = 35.0 -offset_bottom = 13.8571 -theme_override_colors/font_color = Color(0, 0, 0, 1) -theme_override_font_sizes/font_size = 12 -text = "Источник -информации" -horizontal_alignment = 1 -vertical_alignment = 3 - -[node name="Label3" type="Label" parent="СкруглённыйПрямоугСалатный"] -offset_left = 133.0 +[node name="Label3" type="Label" parent="СкруглённыйПрямоугСалатный12"] +offset_left = 55.0 offset_top = -10.0 -offset_right = 180.0 +offset_right = 102.0 offset_bottom = 9.0 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "Режим" +metadata/_edit_use_anchors_ = true -[node name="Label4" type="Label" parent="СкруглённыйПрямоугСалатный"] -offset_left = 209.25 +[node name="Label4" type="Label" parent="СкруглённыйПрямоугСалатный12"] +offset_left = 131.25 offset_top = -10.2857 -offset_right = 258.25 -offset_bottom = 8.7143 +offset_right = 180.25 +offset_bottom = 8.71429 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "Азимут" +metadata/_edit_use_anchors_ = true -[node name="Label5" type="Label" parent="СкруглённыйПрямоугСалатный"] -offset_left = 627.0 -offset_top = -20.5713 -offset_right = 693.0 -offset_bottom = 20.4287 +[node name="Label5" type="Label" parent="СкруглённыйПрямоугСалатный12"] +offset_left = 549.0 +offset_top = -20.5714 +offset_right = 615.0 +offset_bottom = 20.4286 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "Запрет передачи" horizontal_alignment = 1 +metadata/_edit_use_anchors_ = true -[node name="Label6" type="Label" parent="СкруглённыйПрямоугСалатный"] -offset_left = 516.75 -offset_top = -18.8572 -offset_right = 574.75 -offset_bottom = 22.1428 +[node name="Label6" type="Label" parent="СкруглённыйПрямоугСалатный12"] +offset_left = 438.75 +offset_top = -19.7144 +offset_right = 496.75 +offset_bottom = 21.2856 theme_override_colors/font_color = Color(0, 0, 0, 1) -text = "Верхняя частота" +text = "Верхняя +частота" +horizontal_alignment = 1 +metadata/_edit_use_anchors_ = true -[node name="Label7" type="Label" parent="СкруглённыйПрямоугСалатный"] -offset_left = 441.0 +[node name="Label7" type="Label" parent="СкруглённыйПрямоугСалатный12"] +offset_left = 363.0 offset_top = -19.7143 -offset_right = 495.0 +offset_right = 417.0 offset_bottom = 21.2857 theme_override_colors/font_color = Color(0, 0, 0, 1) -text = "Нижняя частота" +text = "Нижняя +частота" horizontal_alignment = 1 +metadata/_edit_use_anchors_ = true -[node name="Label8" type="Label" parent="СкруглённыйПрямоугСалатный"] -offset_left = 362.25 +[node name="Label8" type="Label" parent="СкруглённыйПрямоугСалатный12"] +offset_left = 284.25 offset_top = -10.2857 -offset_right = 418.25 -offset_bottom = 8.7143 +offset_right = 340.25 +offset_bottom = 8.71429 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "Кластер" +metadata/_edit_use_anchors_ = true -[node name="Label9" type="Label" parent="СкруглённыйПрямоугСалатный"] -offset_left = 275.25 -offset_top = -10.2857 -offset_right = 349.25 -offset_bottom = 8.7143 +[node name="Label9" type="Label" parent="СкруглённыйПрямоугСалатный12"] +offset_left = 197.25 +offset_top = -20.5714 +offset_right = 271.25 +offset_bottom = 20.4286 theme_override_colors/font_color = Color(0, 0, 0, 1) -text = "Угол места" +text = "Угол +места" +horizontal_alignment = 1 +metadata/_edit_use_anchors_ = true -[node name="Label10" type="Label" parent="СкруглённыйПрямоугСалатный"] -offset_left = 747.0 -offset_top = -20.5713 -offset_right = 801.0 -offset_bottom = 20.4287 +[node name="Label" type="Label" parent="СкруглённыйПрямоугСалатный12"] +offset_left = -133.5 +offset_top = -22.2857 +offset_right = -44.5001 +offset_bottom = 18.7143 +theme_override_colors/font_color = Color(0, 0, 0, 1) +text = "Источник +информации" +horizontal_alignment = 1 +vertical_alignment = 3 +metadata/_edit_use_anchors_ = true + +[node name="Label10" type="Label" parent="СкруглённыйПрямоугСалатный12"] +offset_left = 669.0 +offset_top = -20.5714 +offset_right = 723.0 +offset_bottom = 20.4286 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "Запрет приёма" horizontal_alignment = 1 +metadata/_edit_use_anchors_ = true [node name="СкруглённыйПрямоугольникБелый" type="Sprite2D" parent="."] -position = Vector2(84, 871) -scale = Vector2(1.13043, 1) +position = Vector2(102, 871) +scale = Vector2(1.41304, 1) texture = ExtResource("31_b5v2s") [node name="СкруглённыйПрямоугольникБелый2" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] @@ -583,598 +606,704 @@ texture = ExtResource("31_b5v2s") position = Vector2(0, 261) texture = ExtResource("31_b5v2s") -[node name="КнопкаПодтверждения01" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.683, 0.25) -scale = Vector2(1.22077, 1.28261) +[node name="КнопкаПодтверждения01" type="Sprite2D" parent="."] +position = Vector2(996.247, 871.25) +scale = Vector2(1.37999, 1.28261) texture = ExtResource("32_p41nv") -[node name="Label3" type="Label" parent="СкруглённыйПрямоугольникБелый"] -offset_left = -31.8462 -offset_top = -10.0 -offset_right = 36.1538 -offset_bottom = 9.0 +[node name="Label3" type="Label" parent="КнопкаПодтверждения01"] +offset_left = -681.34 +offset_top = -10.3305 +offset_right = -613.34 +offset_bottom = 8.66949 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "--" horizontal_alignment = 1 +metadata/_edit_use_anchors_ = true -[node name="СкруглённыйПрямоугольникБелый11" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(92, 0) +[node name="СкруглённыйПрямоугольникБелый11" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-562.5, -0.194946) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый12" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(92, 29) +[node name="СкруглённыйПрямоугольникБелый12" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-562.5, 22.4152) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый13" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(92, 58) +[node name="СкруглённыйПрямоугольникБелый13" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-562.5, 45.0254) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый14" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(92, 87) +[node name="СкруглённыйПрямоугольникБелый14" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-562.5, 67.6355) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый15" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(92, 116) +[node name="СкруглённыйПрямоугольникБелый15" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-562.5, 90.2457) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый16" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(92, 145) +[node name="СкруглённыйПрямоугольникБелый16" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-562.5, 112.856) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый17" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(92, 174) +[node name="СкруглённыйПрямоугольникБелый17" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-562.5, 135.466) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый18" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(92, 203) +[node name="СкруглённыйПрямоугольникБелый18" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-562.5, 158.076) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый19" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(92, 232) +[node name="СкруглённыйПрямоугольникБелый19" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-562.5, 180.686) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый20" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(92, 261) +[node name="СкруглённыйПрямоугольникБелый20" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-562.5, 203.296) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый21" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(184, 0) +[node name="СкруглённыйПрямоугольникБелый21" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-487.138, -0.194946) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый22" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(184, 29) +[node name="СкруглённыйПрямоугольникБелый22" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-487.138, 22.4152) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый23" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(184, 58) +[node name="СкруглённыйПрямоугольникБелый23" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-487.138, 45.0254) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый24" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(184, 87) +[node name="СкруглённыйПрямоугольникБелый24" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-487.138, 67.6355) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый25" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(184, 116) +[node name="СкруглённыйПрямоугольникБелый25" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-487.138, 90.2457) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый26" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(184, 145) +[node name="СкруглённыйПрямоугольникБелый26" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-487.138, 112.856) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый27" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(184, 174) +[node name="СкруглённыйПрямоугольникБелый27" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-487.138, 135.466) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый28" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(184, 203) +[node name="СкруглённыйПрямоугольникБелый28" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-487.138, 158.076) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый29" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(184, 232) +[node name="СкруглённыйПрямоугольникБелый29" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-487.138, 180.686) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый30" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(184, 261) +[node name="СкруглённыйПрямоугольникБелый30" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-487.138, 203.296) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый31" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(276, 0) +[node name="СкруглённыйПрямоугольникБелый31" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-411.775, -0.194946) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый32" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(276, 29) +[node name="СкруглённыйПрямоугольникБелый32" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-411.775, 22.4152) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый33" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(276, 58) +[node name="СкруглённыйПрямоугольникБелый33" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-411.775, 45.0254) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый34" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(276, 87) +[node name="СкруглённыйПрямоугольникБелый34" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-411.775, 67.6355) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый35" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(276, 116) +[node name="СкруглённыйПрямоугольникБелый35" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-411.775, 90.2457) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый36" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(276, 145) +[node name="СкруглённыйПрямоугольникБелый36" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-411.775, 112.856) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый37" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(276, 174) +[node name="СкруглённыйПрямоугольникБелый37" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-411.775, 135.466) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый38" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(276, 203) +[node name="СкруглённыйПрямоугольникБелый38" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-411.775, 158.076) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый39" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(276, 232) +[node name="СкруглённыйПрямоугольникБелый39" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-411.775, 180.686) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый40" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(276, 261) +[node name="СкруглённыйПрямоугольникБелый40" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-411.775, 203.296) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый41" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(368, 0) +[node name="СкруглённыйПрямоугольникБелый41" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-336.413, -0.194946) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый42" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(368, 29) +[node name="СкруглённыйПрямоугольникБелый42" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-336.413, 22.4152) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый43" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(368, 58) +[node name="СкруглённыйПрямоугольникБелый43" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-336.413, 45.0254) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый44" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(368, 87) +[node name="СкруглённыйПрямоугольникБелый44" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-336.413, 67.6355) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый45" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(368, 116) +[node name="СкруглённыйПрямоугольникБелый45" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-336.413, 90.2457) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый46" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(368, 145) +[node name="СкруглённыйПрямоугольникБелый46" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-336.413, 112.856) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый47" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(368, 174) +[node name="СкруглённыйПрямоугольникБелый47" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-336.413, 135.466) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый48" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(368, 203) +[node name="СкруглённыйПрямоугольникБелый48" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-336.413, 158.076) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый49" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(368, 232) +[node name="СкруглённыйПрямоугольникБелый49" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-336.413, 180.686) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый50" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(368, 261) +[node name="СкруглённыйПрямоугольникБелый50" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-336.413, 203.296) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый51" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(460, 0) +[node name="СкруглённыйПрямоугольникБелый51" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-261.051, -0.194946) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый52" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(460, 29) +[node name="СкруглённыйПрямоугольникБелый52" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-261.051, 22.4152) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый53" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(460, 58) +[node name="СкруглённыйПрямоугольникБелый53" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-261.051, 45.0254) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый54" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(460, 87) +[node name="СкруглённыйПрямоугольникБелый54" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-261.051, 67.6355) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый55" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(460, 116) +[node name="СкруглённыйПрямоугольникБелый55" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-261.051, 90.2457) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый56" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(460, 145) +[node name="СкруглённыйПрямоугольникБелый56" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-261.051, 112.856) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый57" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(460, 174) +[node name="СкруглённыйПрямоугольникБелый57" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-261.051, 135.466) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый58" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(460, 203) +[node name="СкруглённыйПрямоугольникБелый58" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-261.051, 158.076) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый59" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(460, 232) +[node name="СкруглённыйПрямоугольникБелый59" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-261.051, 180.686) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый60" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(460, 261) +[node name="СкруглённыйПрямоугольникБелый60" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-261.051, 203.296) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый61" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(552, 0) +[node name="СкруглённыйПрямоугольникБелый61" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-185.689, -0.194946) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый62" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(552, 29) +[node name="СкруглённыйПрямоугольникБелый62" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-185.689, 22.4152) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый63" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(552, 58) +[node name="СкруглённыйПрямоугольникБелый63" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-185.689, 45.0254) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый64" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(552, 87) +[node name="СкруглённыйПрямоугольникБелый64" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-185.689, 67.6355) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый65" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(552, 116) +[node name="СкруглённыйПрямоугольникБелый65" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-185.689, 90.2457) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый66" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(552, 145) +[node name="СкруглённыйПрямоугольникБелый66" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-185.689, 112.856) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый67" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(552, 174) +[node name="СкруглённыйПрямоугольникБелый67" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-185.689, 135.466) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый68" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(552, 203) +[node name="СкруглённыйПрямоугольникБелый68" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-185.689, 158.076) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый69" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(552, 232) +[node name="СкруглённыйПрямоугольникБелый69" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-185.689, 180.686) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый70" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(552, 261) +[node name="СкруглённыйПрямоугольникБелый70" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-185.689, 203.296) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый71" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(644, 0) +[node name="СкруглённыйПрямоугольникБелый71" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-110.326, -0.194946) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый72" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(644, 29) +[node name="СкруглённыйПрямоугольникБелый72" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-110.326, 22.4152) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый73" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(644, 58) +[node name="СкруглённыйПрямоугольникБелый73" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-110.326, 45.0254) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый74" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(644, 87) +[node name="СкруглённыйПрямоугольникБелый74" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-110.326, 67.6355) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый75" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(644, 116) +[node name="СкруглённыйПрямоугольникБелый75" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-110.326, 90.2457) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый76" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(644, 145) +[node name="СкруглённыйПрямоугольникБелый76" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-110.326, 112.856) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый77" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(644, 174) +[node name="СкруглённыйПрямоугольникБелый77" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-110.326, 135.466) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый78" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(644, 203) +[node name="СкруглённыйПрямоугольникБелый78" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-110.326, 158.076) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый79" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(644, 232) +[node name="СкруглённыйПрямоугольникБелый79" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-110.326, 180.686) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый80" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(644, 261) +[node name="СкруглённыйПрямоугольникБелый80" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-110.326, 203.296) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый81" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 29) +[node name="СкруглённыйПрямоугольникБелый81" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 22.4152) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый82" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 58) +[node name="СкруглённыйПрямоугольникБелый82" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 45.0254) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый83" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 87) +[node name="СкруглённыйПрямоугольникБелый83" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 67.6355) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый84" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 116) +[node name="СкруглённыйПрямоугольникБелый84" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 90.2457) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый85" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 145) +[node name="СкруглённыйПрямоугольникБелый85" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 112.856) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый86" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 174) +[node name="СкруглённыйПрямоугольникБелый86" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 135.466) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый87" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 203) +[node name="СкруглённыйПрямоугольникБелый87" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 158.076) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый88" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 232) +[node name="СкруглённыйПрямоугольникБелый88" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 180.686) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый89" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 261) +[node name="СкруглённыйПрямоугольникБелый89" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 203.296) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="КнопкаПодтверждения02" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.683, 0.25) -scale = Vector2(1.22077, 1.28261) +[node name="КнопкаПодтверждения02" type="Sprite2D" parent="КнопкаПодтверждения01"] +scale = Vector2(1, 1) texture = ExtResource("32_p41nv") -[node name="СкруглённыйПрямоугольникБелый90" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 29) +[node name="СкруглённыйПрямоугольникБелый90" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 22.4152) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый91" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 58) +[node name="СкруглённыйПрямоугольникБелый91" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 45.0254) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый92" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 87) +[node name="СкруглённыйПрямоугольникБелый92" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 67.6355) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый93" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 116) +[node name="СкруглённыйПрямоугольникБелый93" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 90.2457) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый94" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 145) +[node name="СкруглённыйПрямоугольникБелый94" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 112.856) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый95" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 174) +[node name="СкруглённыйПрямоугольникБелый95" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 135.466) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый96" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 203) +[node name="СкруглённыйПрямоугольникБелый96" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 158.076) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый97" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 232) +[node name="СкруглённыйПрямоугольникБелый97" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 180.686) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый98" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(778.461, 261) +[node name="СкруглённыйПрямоугольникБелый98" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-0.181946, 203.296) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="КнопкаПодтверждения03" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(913.144, 0.25) -scale = Vector2(1.22077, 1.28261) +[node name="КнопкаПодтверждения03" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(110.144, 0) +scale = Vector2(1, 1) texture = ExtResource("32_p41nv") -[node name="СкруглённыйПрямоугольникБелый99" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(912.923, 29) +[node name="СкруглённыйПрямоугольникБелый99" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(109.963, 22.4152) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый100" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(912.923, 58) +[node name="СкруглённыйПрямоугольникБелый100" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(109.963, 45.0254) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый101" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(912.923, 87) +[node name="СкруглённыйПрямоугольникБелый101" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(109.963, 67.6355) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый102" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(912.923, 116) +[node name="СкруглённыйПрямоугольникБелый102" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(109.963, 90.2457) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый103" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(912.923, 145) +[node name="СкруглённыйПрямоугольникБелый103" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(109.963, 112.856) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый104" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(912.923, 174) +[node name="СкруглённыйПрямоугольникБелый104" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(109.963, 135.466) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый105" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(912.923, 203) +[node name="СкруглённыйПрямоугольникБелый105" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(109.963, 158.076) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый106" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(912.923, 232) +[node name="СкруглённыйПрямоугольникБелый106" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(109.963, 180.686) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый107" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(912.923, 261) +[node name="СкруглённыйПрямоугольникБелый107" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(109.963, 203.296) +scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый108" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(711.231, 0) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый108" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-55.2537, -0.194946) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый109" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(711.231, 29) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый109" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-55.2537, 22.4152) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый110" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(711.231, 58) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый110" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-55.2537, 45.0254) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый111" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(711.231, 87) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый111" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-55.2537, 67.6355) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый112" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(711.231, 116) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый112" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-55.2537, 90.2457) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый113" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(711.231, 145) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый113" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-55.2537, 112.856) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый114" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(711.231, 174) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый114" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-55.2537, 135.466) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый115" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(711.231, 203) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый115" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-55.2537, 158.076) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый116" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(711.231, 232) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый116" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-55.2537, 180.686) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый117" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(711.231, 261) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый117" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(-55.2537, 203.296) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый118" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(845.692, 0) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый118" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(54.8907, -0.194946) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый119" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(845.692, 29) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый119" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(54.8907, 22.4152) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый120" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(845.692, 58) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый120" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(54.8907, 45.0254) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый121" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(845.692, 87) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый121" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(54.8907, 67.6355) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый122" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(845.692, 116) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый122" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(54.8907, 90.2457) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый123" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(845.692, 145) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый123" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(54.8907, 112.856) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый124" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(845.692, 174) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый124" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(54.8907, 135.466) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый125" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(845.692, 203) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый125" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(54.8907, 158.076) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("31_b5v2s") -[node name="СкруглённыйПрямоугольникБелый126" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(845.692, 232) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый126" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(54.8907, 180.686) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("33_5ifkb") -[node name="СкруглённыйПрямоугольникБелый127" type="Sprite2D" parent="СкруглённыйПрямоугольникБелый"] -position = Vector2(845.692, 261) -scale = Vector2(0.461539, 1) +[node name="СкруглённыйПрямоугольникБелый127" type="Sprite2D" parent="КнопкаПодтверждения01"] +position = Vector2(54.8907, 203.296) +scale = Vector2(0.378072, 0.77966) texture = ExtResource("31_b5v2s") -[node name="Label4" type="Label" parent="СкруглённыйПрямоугольникБелый"] -offset_left = 61.9231 -offset_top = -10.0 -offset_right = 129.923 -offset_bottom = 9.0 +[node name="Label4" type="Label" parent="КнопкаПодтверждения01"] +offset_left = -596.558 +offset_top = -9.55084 +offset_right = -528.558 +offset_bottom = 9.44916 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "--" horizontal_alignment = 1 +metadata/_edit_use_anchors_ = true -[node name="Label5" type="Label" parent="СкруглённыйПрямоугольникБелый"] -offset_left = 154.808 -offset_top = -10.0 -offset_right = 222.808 -offset_bottom = 9.0 +[node name="Label5" type="Label" parent="КнопкаПодтверждения01"] +offset_left = -521.195 +offset_top = -10.3305 +offset_right = -453.195 +offset_bottom = 8.66949 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "--" horizontal_alignment = 1 +metadata/_edit_use_anchors_ = true -[node name="Label6" type="Label" parent="СкруглённыйПрямоугольникБелый"] -offset_left = 245.923 -offset_top = -10.0 -offset_right = 313.923 -offset_bottom = 9.0 +[node name="Label6" type="Label" parent="КнопкаПодтверждения01"] +offset_left = -445.834 +offset_top = -9.55084 +offset_right = -377.834 +offset_bottom = 9.44916 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "--" horizontal_alignment = 1 +metadata/_edit_use_anchors_ = true -[node name="Label7" type="Label" parent="СкруглённыйПрямоугольникБелый"] -offset_left = 337.923 -offset_top = -10.0 -offset_right = 405.923 -offset_bottom = 9.0 +[node name="Label7" type="Label" parent="КнопкаПодтверждения01"] +offset_left = -370.471 +offset_top = -9.55084 +offset_right = -302.471 +offset_bottom = 9.44916 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "--" horizontal_alignment = 1 +metadata/_edit_use_anchors_ = true -[node name="Label8" type="Label" parent="СкруглённыйПрямоугольникБелый"] -offset_left = 429.923 -offset_top = -10.0 -offset_right = 497.923 -offset_bottom = 9.0 +[node name="Label8" type="Label" parent="КнопкаПодтверждения01"] +offset_left = -295.109 +offset_top = -9.55084 +offset_right = -227.109 +offset_bottom = 9.44916 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "--" horizontal_alignment = 1 +metadata/_edit_use_anchors_ = true -[node name="Label9" type="Label" parent="СкруглённыйПрямоугольникБелый"] -offset_left = 522.808 -offset_top = -10.0 -offset_right = 590.808 -offset_bottom = 9.0 +[node name="Label9" type="Label" parent="КнопкаПодтверждения01"] +offset_left = -219.746 +offset_top = -9.55084 +offset_right = -151.746 +offset_bottom = 9.44916 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "--" horizontal_alignment = 1 +metadata/_edit_use_anchors_ = true -[node name="Label10" type="Label" parent="СкруглённыйПрямоугольникБелый"] -offset_left = 614.808 -offset_top = -10.0 -offset_right = 682.808 -offset_bottom = 9.0 +[node name="Label10" type="Label" parent="КнопкаПодтверждения01"] +offset_left = -144.384 +offset_top = -9.55084 +offset_right = -76.384 +offset_bottom = 9.44916 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "--" horizontal_alignment = 1 +metadata/_edit_use_anchors_ = true -[node name="Label11" type="Label" parent="СкруглённыйПрямоугольникБелый"] -offset_left = 706.808 -offset_top = -10.0 -offset_right = 718.808 -offset_bottom = 9.0 +[node name="Label11" type="Label" parent="КнопкаПодтверждения01"] +offset_left = -61.0507 +offset_top = -10.3305 +offset_right = -49.0507 +offset_bottom = 8.66949 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "--" horizontal_alignment = 1 +metadata/_edit_use_anchors_ = true -[node name="Label12" type="Label" parent="СкруглённыйПрямоугольникБелый"] -offset_left = 841.269 -offset_top = -10.0 -offset_right = 853.269 -offset_bottom = 9.0 +[node name="Label12" type="Label" parent="КнопкаПодтверждения01"] +offset_left = 49.0936 +offset_top = -10.3305 +offset_right = 61.0936 +offset_bottom = 8.66949 theme_override_colors/font_color = Color(0, 0, 0, 1) text = "--" horizontal_alignment = 1 +metadata/_edit_use_anchors_ = true [node name="ТаблицаЧастот" type="Sprite2D" parent="."] position = Vector2(800, 502.25) diff --git a/scripts/signaller.gd b/scripts/signaller.gd index 9c58dcd5..6491caed 100644 --- a/scripts/signaller.gd +++ b/scripts/signaller.gd @@ -30,12 +30,15 @@ signal режим_журнал() ## Вызывается при переходе в режим [b]ЭМС[/b]. signal режим_эмс() + ## Вызывается при переходе в режим [b]ЭМС ТГ[/b]. signal режим_эмс2() + ## Вызывается при переходе в режим [b]Настройка[/b]. signal режим_настройки() + ## Вызывается при включении/отключении режима [b]Тренаж[/b].[br] ## [param val] - [b]true[/b] тренаж включён. signal режим_тренаж(val: bool) @@ -215,10 +218,10 @@ signal tool_tip(new_ctrl_pos) signal update_fs_closed(fs_closed: Dictionary) -signal sector_klaster (new_sector_data) +signal sector_klaster(new_sector_data) -signal clear_klaster () +signal clear_klaster() ## Вызывается при нажатии на кнопку "Запуск контроля".[br] diff --git a/scripts/tcp5p28.gd b/scripts/tcp5p28.gd index a86f7755..1e5699bb 100644 --- a/scripts/tcp5p28.gd +++ b/scripts/tcp5p28.gd @@ -160,7 +160,7 @@ class TCP5P28 extends unit.Unit: flags |= 0 << 8 # Флаг рекомендуемой помехи flags |= int(th.fflags['aoa']) << 9 # Флаг доставерности пеленга flags |= int(th.fflags['alt']) << 10 # Флаг доставерности высоты - flags |= int(th.fflags['power']) << 11 # Флаг доставерности мощности + flags |= int(th.fflags['pow']) << 11 # Флаг доставерности мощности flags |= int(th.fflags['baud']) << 12 # Флаг доставерности ск. мод. flags |= int(th.fflags['slon']) << 13 # Флаг доставерности долготы ст. позиции flags |= int(th.fflags['slat']) << 14 # Флаг доставерности широты ст. позиции @@ -174,7 +174,7 @@ class TCP5P28 extends unit.Unit: th_data.encode_u16(16, int(th.alt)) # Высота объекта th_data.encode_u16(18, int(th.freq)) # Частота объекта th_data.encode_u16(20, int(th.width)) # Ширина частотной полосы объекта - th_data.encode_u8(22, int(th.power)) # Мощность излучения объекта + th_data.encode_u8(22, int(th.pow)) # Мощность излучения объекта var mod = MOD_TYPES.find(th.tmod) if mod == -1: mod = 0 th_data.encode_u8(23, int(mod)) # Тип модуляции diff --git a/scripts/yau07.gd b/scripts/yau07.gd index 328c4563..c44b7e7c 100644 --- a/scripts/yau07.gd +++ b/scripts/yau07.gd @@ -80,14 +80,14 @@ class YaU07 extends unit.Unit: rc = Error.FAILED return rc - func send_flash(cmd_code: int, fl_data: Array, num_byte_rd: int, id_sector: int = 0) -> bool: + func send_flash(cmd_code: CmdCode, fl_data: Array, num_byte_rd: int, id_sector: int = 0) -> bool: if (cmd_state == CmdState.WAIT) \ or (cmd_state == CmdState.SEND) \ or (cmd_state == CmdState.UNCK): return false - if not ((cmd_code == CmdCode.ERASE_FLASH) or (cmd_code == CmdCode.WRITE_FLASH) \ - or (cmd_code == CmdCode.READ_FLASH) or (cmd_code == CmdCode.LOAD_FLASH) - or (cmd_code == CmdCode.READ_FLASH_MP550) or (cmd_code == CmdCode.WRITE_FLASH_MP550)): + if not cmd_code in [CmdCode.ERASE_FLASH, + CmdCode.WRITE_FLASH, CmdCode.READ_FLASH, CmdCode.LOAD_FLASH, + CmdCode.READ_FLASH_MP550, CmdCode.WRITE_FLASH_MP550]: return false cmd_num_tx = (cmd_num_rx + 1) % 0xffff tx_data.encode_u16(0, cmd_retry) @@ -122,7 +122,7 @@ class YaU07 extends unit.Unit: cmd_code_tx = cmd_code return true - func send_isa(cmd_code: int, ports_data: Array) -> bool: + func send_isa(cmd_code: CmdCode, ports_data: Array) -> bool: if (cmd_state == CmdState.WAIT) \ or (cmd_state == CmdState.SEND) \ or (cmd_state == CmdState.UNCK): @@ -150,7 +150,7 @@ class YaU07 extends unit.Unit: cmd_code_tx = cmd_code return true - func send_block(cmd_code: int, block_len: int, port: Array) -> bool: + func send_block(cmd_code: CmdCode, block_len: int, port: Array) -> bool: if (cmd_state == CmdState.WAIT) \ or (cmd_state == CmdState.SEND) \ or (cmd_state == CmdState.UNCK): @@ -173,7 +173,7 @@ class YaU07 extends unit.Unit: cmd_code_tx = cmd_code return true - func send_load_ems_done(cmd_code: int) -> bool: + func send_load_ems_done(cmd_code: CmdCode) -> bool: if (cmd_state == CmdState.WAIT) \ or (cmd_state == CmdState.SEND) \ or (cmd_state == CmdState.UNCK): diff --git a/shaders/antenas.gdshader b/shaders/antenas.gdshader new file mode 100644 index 00000000..06c5826d --- /dev/null +++ b/shaders/antenas.gdshader @@ -0,0 +1,101 @@ +shader_type canvas_item; + +#include "tools.gdshaderinc" + +#define ANT_BAND_READY 1U /* Антенна (модуль ФС) готова или исправна */ +#define ANT_BAND_FAILED 0U /* Антенна (модуль ФС) не исправно */ + +// Конфигурация сетки +uniform int grid_cells_angle = 4; /* Количество секторов (90° каждый) */ +uniform int grid_layers_radius = 7; /* Количество слоёв по радиусу */ +uniform float alpha: hint_range(0.0, 1.0) = 0.5; +uniform float inner_radius = 0.36; /* Внутренняя незакрашенная окружность. Относительное значение */ +uniform float outer_radius = 1.0; /* Внешний радиус. Относительное значение */ +uniform float grid_line_width = 0.0025; /* Сетка, ширина линий. Относительное значение */ +uniform float rotation: hint_range(0, 360) = 0.0; +uniform float ffr: hint_range(0.0, 1.0) = 0.15; /* Индикация неисправности модулей ФС. Заметность штриховки. Индикация неисправности модулей ФС */ +uniform float sfr: hint_range(0.0, 10.0) = 0.0; /* Индикация неисправности модулей ФС. Скорость движения штрховки */ +uniform float pfr: hint_range(0.01, 1.0) = 0.025; /* Индикация неисправности модулей ФС. Частота штриховки */ + +// Вариант 1: Массив цветов для каждой ячейки (4×7 = 28) +uniform vec4 ant_band_c[28]: source_color; +uniform uint ant_band_m[28]; +varying vec2 centered_uv; + + +void vertex() +{ + // 1. Переводим UV в координаты относительно центра (-1..1) + centered_uv = (UV - 0.5) * 2.0; + rotate_vec2(centered_uv, radians(rotation + 315.0), vec2(0, 0)); +} + + +void fragment() +{ + float dist = length(centered_uv); + + // 2. Отсекаем за пределами внешнего радиуса + if (dist > outer_radius) { + COLOR = vec4(0.0); + discard; + } + + // 3. Отсекаем внутри внутреннего радиуса + if (dist < inner_radius) { + COLOR = vec4(0.0); + discard; + } + + // 4. Вычисляем полярные координаты + float angle = 6.28318530718 - atan(centered_uv.y, centered_uv.x); + // Приводим к диапазону 0..2π + angle = mod(angle + 6.28318530718, 6.28318530718); + + // 5. Определяем индексы ячейки + // Сектор (0..3) + float sector_width = 6.28318530718 / float(grid_cells_angle); + int sector_idx = int(angle / sector_width); + + // Слой (0..6) + float available_radius = outer_radius - inner_radius; + float normalized_radius = (dist - inner_radius) / available_radius; + float layer_height = 1.0 / float(grid_layers_radius); + int layer_idx = int(normalized_radius / layer_height); + + // 6. Проверяем границы (чтобы не выйти за пределы) + if (layer_idx >= grid_layers_radius) { + COLOR = vec4(0.0); + discard; + } + + // 7. Рассчитываем глобальный индекс ячейки (0..27) + int cell_index = layer_idx * grid_cells_angle + sector_idx; + + // 8. Получаем цвет ячейки (два варианта) из массива цветов + vec4 cell_color = ant_band_c[cell_index]; + + // Границы по углу + float angle_in_sector = mod(angle, sector_width); + if (angle_in_sector < grid_line_width || + sector_width - angle_in_sector < grid_line_width) { + cell_color.rgb *= 0.7; // Затемняем границы + } + + // Границы по радиусу + float radius_in_layer = mod(normalized_radius, layer_height); + if (radius_in_layer < grid_line_width || + layer_height - radius_in_layer < grid_line_width) { + cell_color.rgb *= 0.7; // Затемняем границы + } + + // Подмешивание шума для включённых + cell_color.a = alpha + random_timed(centered_uv) * cell_color.a; + + // Индикация не исправности + if (ant_band_m[cell_index] == ANT_BAND_FAILED) + { + cell_color.a *= (1.0 - ffr) + tanh(10.0 * sin(TIME * sfr + 2.0 * PI * centered_uv.x / pfr)) * ffr; + } + COLOR = cell_color; +} diff --git a/shaders/antenas.gdshader.uid b/shaders/antenas.gdshader.uid new file mode 100644 index 00000000..f9244121 --- /dev/null +++ b/shaders/antenas.gdshader.uid @@ -0,0 +1 @@ +uid://dhipoo0ju5ebg diff --git a/shaders/antenas.tres b/shaders/antenas.tres deleted file mode 100644 index 1dd2f46b..00000000 --- a/shaders/antenas.tres +++ /dev/null @@ -1,142 +0,0 @@ -[gd_resource type="ShaderMaterial" load_steps=2 format=4 uid="uid://s6xe8igevnv2"] - -[sub_resource type="Shader" id="1"] -code = "shader_type canvas_item; - -#include \"tools.gdshaderinc\" - -#define RADIUS_INNER_0 200.0 /* Радиус внутренний для режима приоритет РТО */ -#define RADIUS_INNER_1 480.0 /* Радиус внутренний для режима приоритет РЛС */ -#define ANTENAS_COUNT 28 /* Количество антенн */ -#define ANT_BAND_READY 1U /* Антенна (модуль ФС) готова или исправна */ -#define ANT_BAND_FAILED 0U /* Антенна (модуль ФС) не исправно */ - -uniform vec2 pc0 = vec2(560, 560); /* Центр сетки антенн */ -uniform float rotation: hint_range(0.0, 360.0) = 0.0; /* */ -uniform vec4 color0: source_color = vec4(0.38, 0.47, 0.51, 0.4); -uniform vec4 color1: source_color = vec4(0.39, 0.44, 0.50, 0.4); -uniform float radius_inner_0 = RADIUS_INNER_0; -uniform float radius_inner_1 = RADIUS_INNER_1; -uniform float radius_outter = 550.0; /* Радиус внешний. Должно быть равно ant_band_r1_6 */ -uniform float alpha: hint_range(0.0, 1.0) = 0.5; -uniform int mode = 0; /* Режим отображения. Приоритет РТО - 0, приоритет РЛС - 1 */ -uniform float ffr: hint_range(0.0, 1.0) = 0.2; /* Индикация неисправности модулей ФС. Заметность штриховки. */ -uniform float sfr: hint_range(0.0, 10.0) = 0.0; /* Индикация неисправности модулей ФС. Скорость движения штрховки */ -uniform float afr: hint_range(0.0, 180.0) = 0.0; /* Индикация неисправности модулей ФС. Наклон штрховки */ -uniform float pfr: hint_range(1.0, 20.0) = 10.0; /* Индикация неисправности модулей ФС. Частота штриховки */ - -const int ant_band_count_0 = 2; -const int ant_band_count_1 = 2; -const int ant_band_count_2 = 2; -const int ant_band_count_3 = 2; -const int ant_band_count_4 = 2; -const int ant_band_count_5 = 2; -const int ant_band_count_6 = 2; - -const float ant_band_r0_0[] = {RADIUS_INNER_0, RADIUS_INNER_1}; -const float ant_band_r0_1[] = {250.0, 490.0}; -const float ant_band_r0_2[] = {300.0, 500.0}; -const float ant_band_r0_3[] = {350.0, 510.0}; -const float ant_band_r0_4[] = {400.0, 520.0}; -const float ant_band_r0_5[] = {450.0, 530.0}; -const float ant_band_r0_6[] = {500.0, 540.0}; - -const float ant_band_r1_0[] = {250.0, 490.0}; -const float ant_band_r1_1[] = {300.0, 500.0}; -const float ant_band_r1_2[] = {350.0, 510.0}; -const float ant_band_r1_3[] = {400.0, 520.0}; -const float ant_band_r1_4[] = {450.0, 530.0}; -const float ant_band_r1_5[] = {500.0, 540.0}; -const float ant_band_r1_6[] = {550.0, 550.0}; - -uniform vec4 ant_band_c[ANTENAS_COUNT]; -uniform uint ant_band_m[ANTENAS_COUNT]; -const float d4 = 90.0; -const float ds = 1.0; - - -void sector(inout vec4 c, vec2 uv, vec2 center, float a, float da, float r0, float r1, vec4 color) -{ - float l = distance(center, uv); - vec2 d = uv - center; - float sf = 500.0; - float theta = atan(d.x, d.y) * sf; - da /= 2.0; - float a0 = radians(a - da); - float a1 = radians(a + da); - float va = smooth_px(a0 * sf, theta, ds) - smooth_px(a1 * sf, theta, ds); - float vr = smooth_px(r0, l, ds) - smooth_px(r1, l, ds); - float rgb = sqrt(va * vr); - c.rgb += color.rgb * rgb * color.a; - c.a += rgb * color.a; -} - - -void antenas(inout vec4 c, vec2 uv, vec2 p0, int cnt, float r0, float r1, inout int index) -{ - float da = 180.0 / float(cnt); - for (int i = -cnt; i <= cnt; i ++) - { - vec4 col; - int j = index; - if (i == 2) - { - index--; - j = index - 3; - } - col.rgb = ant_band_c[j].rgb; - index++; - col.a = alpha + (random_timed(uv) - 0.5f) * ant_band_c[j].a; - if (ant_band_m[j] == ANT_BAND_FAILED) - { - vec2 uvr = uv; - rotate_vec2(uvr, radians(afr), pc0); - col.a *= (1.0 - ffr) + tanh(10.0 * sin(TIME * sfr + 2.0 * PI * uvr.x / pfr)) * ffr; - } - float v = float(i & 1); - vec4 color = v * col + (1.0f - v) * col; - sector(c, uv, p0, float(i) * da, da, r0, r1, color); - } -} - - -void vertex() -{ - rotate_vec2(VERTEX, radians(360.0 - rotation), pc0); -} - - -void fragment() -{ - ivec2 isz = textureSize(TEXTURE, 0); - vec2 uv = UV * vec2(float(isz.x), float(isz.y)); // координаты текущей точки в пикселях - COLOR = vec4(0, 0, 0, 0); - int index = 0; - // Сетка антенн - antenas(COLOR, uv, pc0, ant_band_count_0, ant_band_r0_0[mode], ant_band_r1_0[mode], index); - antenas(COLOR, uv, pc0, ant_band_count_1, ant_band_r0_1[mode], ant_band_r1_1[mode], index); - antenas(COLOR, uv, pc0, ant_band_count_2, ant_band_r0_2[mode], ant_band_r1_2[mode], index); - antenas(COLOR, uv, pc0, ant_band_count_3, ant_band_r0_3[mode], ant_band_r1_3[mode], index); - antenas(COLOR, uv, pc0, ant_band_count_4, ant_band_r0_4[mode], ant_band_r1_4[mode], index); - antenas(COLOR, uv, pc0, ant_band_count_5, ant_band_r0_5[mode], ant_band_r1_5[mode], index); - antenas(COLOR, uv, pc0, ant_band_count_6, ant_band_r0_6[mode], ant_band_r1_6[mode], index); -} -" - -[resource] -shader = SubResource("1") -shader_parameter/pc0 = Vector2(560, 560) -shader_parameter/rotation = 0.0 -shader_parameter/color0 = Color(0.380392, 0.470588, 0.509804, 0.537255) -shader_parameter/color1 = Color(0.3315, 0.45645, 0.51, 0.537255) -shader_parameter/radius_inner_0 = 200.0 -shader_parameter/radius_inner_1 = 480.0 -shader_parameter/radius_outter = 550.0 -shader_parameter/alpha = 0.5 -shader_parameter/mode = 0 -shader_parameter/ffr = 0.2 -shader_parameter/sfr = 0.0 -shader_parameter/afr = 0.0 -shader_parameter/pfr = 10.0 -shader_parameter/ant_band_c = PackedVector4Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -shader_parameter/ant_band_m = PackedInt32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) diff --git a/shaders/color-invers.gdshader b/shaders/color-invers.gdshader index d082f902..12b79acc 100644 --- a/shaders/color-invers.gdshader +++ b/shaders/color-invers.gdshader @@ -2,5 +2,5 @@ shader_type canvas_item; void fragment() { - COLOR.rgb = vec3(1.0, 1.0, 1.0) - log(COLOR.rgb); + COLOR.rgb = vec3(1.0, 1.0, 1.0) - log(COLOR.rgb); } diff --git a/shaders/select_tr.gdshader b/shaders/select_tr.gdshader index 3dac47fe..4fdb901f 100644 --- a/shaders/select_tr.gdshader +++ b/shaders/select_tr.gdshader @@ -16,42 +16,40 @@ uniform float ant_band_r1_0 = 0.4; float smooth_px(float r, float R, float dss) { - return 1.0 - smoothstep(R - dss, R + dss, r); + return 1.0 - smoothstep(R - dss, R + dss, r); } void sector(inout vec4 c, vec2 uv, vec2 cnt, float a, float da, float r0, float r1, vec4 col) { - float l = distance(cnt, uv); - vec2 d = uv - cnt; - float sf = 500.0; - float theta = atan(d.x, d.y) * sf; - da /= 2.0; - float a0 = radians(a - da); - float a1 = radians(a + da); - float va = smooth_px(a0 * sf, theta, dsr) - smooth_px(a1 * sf, theta, dsr); - float vr = smooth_px(r0, l, ds) - smooth_px(r1, l, ds); + float l = distance(cnt, uv); + vec2 d = uv - cnt; + float sf = 500.0; + float theta = atan(d.x, d.y) * sf; + da /= 2.0; + float a0 = radians(a - da); + float a1 = radians(a + da); + float va = smooth_px(a0 * sf, theta, dsr) - smooth_px(a1 * sf, theta, dsr); + float vr = smooth_px(r0, l, ds) - smooth_px(r1, l, ds); float rgb = sqrt(va * vr); - c.rgb += col.rgb * rgb * col.a; + c.rgb += col.rgb * rgb * col.a; c.a += rgb * col.a; } void antenas(inout vec4 c, vec2 uv, vec2 p0, int cnt, float r0, float r1, vec4 c0, vec4 c1) { - float da = 180.0f / float(cnt); + float da = 180.0f / float(cnt); for (int i = -cnt; i <= cnt; i ++) - { - float v = float(i & 1); - vec4 col = v * c0 + (1.0f - v) * c1; - sector(c, uv, p0, float(i) * da, da, r0, r1, col); - } + { + float v = float(i & 1); + vec4 col = v * c0 + (1.0f - v) * c1; + sector(c, uv, p0, float(i) * da, da, r0, r1, col); + } } vec2 rotateUVmatrinx(vec2 uv, vec2 pivot, float rotation) { - mat2 rotation_matrix=mat2( vec2(sin(rotation),-cos(rotation)), - vec2(cos(rotation),sin(rotation)) - ); + mat2 rotation_matrix=mat2(vec2(sin(rotation), -cos(rotation)), vec2(cos(rotation),sin(rotation))); uv -= pivot; uv *= rotation_matrix; uv += pivot; diff --git a/shaders/strips.gdshader b/shaders/strips.gdshader index 5f93c092..66f4c760 100644 --- a/shaders/strips.gdshader +++ b/shaders/strips.gdshader @@ -21,7 +21,7 @@ void vertex() void fragment() { - COLOR = color; + COLOR = color; if (disabled) { float ds = 1.0 / sharpness; diff --git a/shaders/tools.gdshaderinc b/shaders/tools.gdshaderinc index c65ee634..a08e0ff7 100644 --- a/shaders/tools.gdshaderinc +++ b/shaders/tools.gdshaderinc @@ -8,16 +8,16 @@ float random_timed(vec2 uv) float smooth_px(float r, float R, float ds) { - return 1.0 - smoothstep(R - ds, R + ds, r); + return smoothstep(R + ds, R - ds, r); } void circle_thin(inout vec3 color, vec2 uv, vec2 p, float r, float w, vec3 c, float a) { - float d = distance(uv, p); - float v0 = r - w; - float v1 = r + w; - color += a * sqrt(smoothstep(v1, v0, d) * smoothstep(v0, v1, d) * c); + float d = distance(uv, p); + float v0 = r - w; + float v1 = r + w; + color += a * sqrt(smoothstep(v1, v0, d) * smoothstep(v0, v1, d) * c); } diff --git a/shaders/tracked.gdshader b/shaders/tracked.gdshader index 1c242dcd..76aa5ed3 100644 --- a/shaders/tracked.gdshader +++ b/shaders/tracked.gdshader @@ -19,9 +19,9 @@ uniform float speed: hint_range(0.0, 1024.0) = 0.0; float line(vec2 p1, vec2 p2, float width, vec2 uv) { - float dist = distance(p1, p2); // Дистанция между точками - float dist_uv = distance(p1, uv); // Дистанция между точкой и текущим пикселем - return 1.0 - floor(1.0 - (0.001 * width) + distance (mix(p1, p2, clamp(dist_uv / dist, 0.0, 1.0)), uv)); + float dist = distance(p1, p2); // Дистанция между точками + float dist_uv = distance(p1, uv); // Дистанция между точкой и текущим пикселем + return 1.0 - floor(1.0 - (0.001 * width) + distance (mix(p1, p2, clamp(dist_uv / dist, 0.0, 1.0)), uv)); } @@ -65,12 +65,12 @@ void fragment() float px1 = 0.0; float py0 = 0.0; float py1 = 0.0; - COLOR = vec4(1.0, 0.0, 0.0, 0.0); //texture(TEXTURE, UV); // Цвет текущей точки + COLOR = vec4(1.0, 0.0, 0.0, 0.0); // Цвет текущей точки get_line_points(px0, px1, py0, py1, 330.0); COLOR.a += line(vec2(px0, py0), vec2(px1, py1), 15.0, UV); get_line_points(px0, px1, py0, py1, 90.0); COLOR.a += line(vec2(px0, py0), vec2(px1, py1), 15.0, UV); get_line_points(px0, px1, py0, py1, 210.0); COLOR.a += line(vec2(px0, py0), vec2(px1, py1), 15.0, UV); - COLOR *= smooth_px(length(UV-center), radius, DSS); + COLOR *= smooth_px(length(UV - center), radius, DSS); } diff --git a/shaders/two-color.gdshader b/shaders/two-color.gdshader index fd0f624b..de27a828 100644 --- a/shaders/two-color.gdshader +++ b/shaders/two-color.gdshader @@ -13,5 +13,5 @@ vec3 bw_to_2color(vec3 c, vec3 dark, vec3 light) void fragment() { - COLOR.rgb = bw_to_2color(texture(TEXTURE, UV).rgb, white, black); + COLOR.rgb = bw_to_2color(texture(TEXTURE, UV).rgb, white, black); }