Some checks failed
Godot CI / Import + smoke test (push) Failing after 28s
МЫШЬ КАМЕРА (главный баг):
- 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>
197 lines
5.4 KiB
Text
197 lines
5.4 KiB
Text
[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 = "Применить"
|