farming-simulator/scenes/components/pause_menu.tscn
Dmitrii Bykov 48a992e07a
Some checks failed
Godot CI / Import + smoke test (push) Failing after 28s
fix мышь + лицо отца (глаза, нос, рот, брови, щетина, уши)
МЫШЬ КАМЕРА (главный баг):
- Crosshair Control в центре экрана с дефолтным mouse_filter=STOP
  ЖРАЛ ВСЕ mouse_motion events когда курсор был в центре (а он
  всегда в центре при MOUSE_MODE_CAPTURED). FPV._unhandled_input
  не вызывался → камера не вращалась.
- Поставил mouse_filter=2 (IGNORE) на Crosshair, CenterDot,
  OuterRing, InnerHole — теперь они только рендерятся, события
  пролетают мимо.
- Поставил mouse_filter=2 ТАКЖЕ на все HUD-лейблы (DateTime,
  Objective, Money, Weather, Stats, ControlsHint, PromptLabel)
  и SubtitlePanel — на будущее, чтобы курсор поверх них не
  обламывал камеру.

СЛАЙДЕРЫ В НАСТРОЙКАХ:
- HBoxContainer rows с custom_minimum_size (0, 24).
- Labels: size_flags_vertical=4 (SHRINK_CENTER) +
  vertical_alignment=1 (CENTER) + min_size (W, 24).
- Sliders: size_flags_vertical=4 + min_size (140, 24).
- Все элементы строки выровнены по центру по вертикали — слайдер
  и текст теперь на одной линии, хитбокс совпадает с визуалом.

ЛИЦО ОТЦА:
- Голова была просто кубом скин-цвета. Теперь у отца:
  * 2 глаза (белая склера 0.038×0.025×0.005 + тёмный зрачок
    0.018×0.018×0.005 поверх) — реально видно куда смотрит.
  * Брови 0.045×0.012 материалом mat_hair (тёмные).
  * Нос 0.028×0.05×0.035 — выпирает на 0.012м вперёд от лица.
  * Рот 0.065×0.012 тёмно-красным mat_mouth.
  * Щетина 0.2×0.075 на нижней части лица mat_stubble
    (тёмно-серо-коричневый) — мужик не побрился.
  * 2 уха 0.025×0.045×0.025 по бокам головы.
- Все элементы — children FatherNPC/Head, наследуют поворот
  родителя, остаются на лице при walking-animation.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 19:16:49 +03:00

197 lines
5.4 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[gd_scene load_steps=4 format=3]
[ext_resource type="Script" path="res://scripts/ui/pause_menu.gd" id="1_pause"]
[sub_resource type="StyleBoxFlat" id="style_panel"]
bg_color = Color(0.12, 0.13, 0.16, 0.98)
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
border_color = Color(0.42, 0.44, 0.5, 1)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_left = 6
corner_radius_bottom_right = 6
content_margin_left = 20.0
content_margin_top = 16.0
content_margin_right = 20.0
content_margin_bottom = 18.0
[sub_resource type="StyleBoxFlat" id="style_btn"]
bg_color = Color(0.18, 0.19, 0.23, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.4, 0.42, 0.48, 1)
corner_radius_top_left = 2
corner_radius_top_right = 2
corner_radius_bottom_left = 2
corner_radius_bottom_right = 2
content_margin_left = 12.0
content_margin_top = 4.0
content_margin_right = 12.0
content_margin_bottom = 4.0
[node name="PauseMenu" type="CanvasLayer"]
layer = 100
script = ExtResource("1_pause")
[node name="BG" type="ColorRect" parent="."]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
color = Color(0, 0, 0, 0.65)
mouse_filter = 0
[node name="MainPanel" type="PanelContainer" parent="."]
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -110.0
offset_top = -100.0
offset_right = 110.0
offset_bottom = 100.0
theme_override_styles/panel = SubResource("style_panel")
[node name="V" type="VBoxContainer" parent="MainPanel"]
layout_mode = 2
theme_override_constants/separation = 6
[node name="Title" type="Label" parent="MainPanel/V"]
layout_mode = 2
text = "ПАУЗА"
horizontal_alignment = 1
modulate = Color(0.94, 0.71, 0.1, 1)
[node name="Spacer" type="Control" parent="MainPanel/V"]
custom_minimum_size = Vector2(0, 8)
layout_mode = 2
[node name="BtnResume" type="Button" parent="MainPanel/V"]
custom_minimum_size = Vector2(180, 28)
layout_mode = 2
theme_override_styles/normal = SubResource("style_btn")
text = "Продолжить"
[node name="BtnSettings" type="Button" parent="MainPanel/V"]
custom_minimum_size = Vector2(180, 28)
layout_mode = 2
theme_override_styles/normal = SubResource("style_btn")
text = "Настройки"
[node name="BtnMainMenu" type="Button" parent="MainPanel/V"]
custom_minimum_size = Vector2(180, 28)
layout_mode = 2
theme_override_styles/normal = SubResource("style_btn")
text = "В главное меню"
[node name="BtnQuit" type="Button" parent="MainPanel/V"]
custom_minimum_size = Vector2(180, 28)
layout_mode = 2
theme_override_styles/normal = SubResource("style_btn")
text = "Сохранить и выйти"
[node name="SettingsPanel" type="PanelContainer" parent="."]
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -180.0
offset_top = -110.0
offset_right = 180.0
offset_bottom = 110.0
theme_override_styles/panel = SubResource("style_panel")
[node name="V" type="VBoxContainer" parent="SettingsPanel"]
layout_mode = 2
theme_override_constants/separation = 8
[node name="Title" type="Label" parent="SettingsPanel/V"]
layout_mode = 2
text = "Настройки"
horizontal_alignment = 1
modulate = Color(0.94, 0.71, 0.1, 1)
[node name="SensRow" type="HBoxContainer" parent="SettingsPanel/V"]
custom_minimum_size = Vector2(0, 24)
layout_mode = 2
theme_override_constants/separation = 8
[node name="Label" type="Label" parent="SettingsPanel/V/SensRow"]
custom_minimum_size = Vector2(150, 24)
layout_mode = 2
size_flags_vertical = 4
mouse_filter = 2
text = "Чувствительность мыши"
vertical_alignment = 1
[node name="Slider" type="HSlider" parent="SettingsPanel/V/SensRow"]
custom_minimum_size = Vector2(140, 24)
layout_mode = 2
size_flags_vertical = 4
min_value = 1.0
max_value = 10.0
step = 0.1
value = 2.5
[node name="Value" type="Label" parent="SettingsPanel/V/SensRow"]
custom_minimum_size = Vector2(50, 24)
layout_mode = 2
size_flags_vertical = 4
mouse_filter = 2
text = "0.0025"
vertical_alignment = 1
[node name="VolRow" type="HBoxContainer" parent="SettingsPanel/V"]
custom_minimum_size = Vector2(0, 24)
layout_mode = 2
theme_override_constants/separation = 8
[node name="Label" type="Label" parent="SettingsPanel/V/VolRow"]
custom_minimum_size = Vector2(150, 24)
layout_mode = 2
size_flags_vertical = 4
mouse_filter = 2
text = "Громкость"
vertical_alignment = 1
[node name="Slider" type="HSlider" parent="SettingsPanel/V/VolRow"]
custom_minimum_size = Vector2(140, 24)
layout_mode = 2
size_flags_vertical = 4
min_value = 0.0
max_value = 100.0
step = 1.0
value = 50.0
[node name="Value" type="Label" parent="SettingsPanel/V/VolRow"]
custom_minimum_size = Vector2(50, 24)
layout_mode = 2
size_flags_vertical = 4
mouse_filter = 2
text = "50%"
vertical_alignment = 1
[node name="Spacer2" type="Control" parent="SettingsPanel/V"]
custom_minimum_size = Vector2(0, 10)
layout_mode = 2
[node name="Buttons" type="HBoxContainer" parent="SettingsPanel/V"]
layout_mode = 2
alignment = 1
theme_override_constants/separation = 8
[node name="Back" type="Button" parent="SettingsPanel/V/Buttons"]
custom_minimum_size = Vector2(100, 28)
layout_mode = 2
theme_override_styles/normal = SubResource("style_btn")
text = "Назад"
[node name="Apply" type="Button" parent="SettingsPanel/V/Buttons"]
custom_minimum_size = Vector2(100, 28)
layout_mode = 2
theme_override_styles/normal = SubResource("style_btn")
text = "Применить"