Files
Cozypaw-Hospital/scenes/ui/SettingsMenu.tscn
Steven Wroblewski 13db45bb04 feat(core): implement room navigation, character states, save/load and settings menu
- RoomNavigator autoload: smooth camera pan between floors
- Floor1 and Floor2 placeholder rooms with elevator buttons
- CharacterData Resource with State enum (HEALTHY/SICK/SLEEPING/TIRED)
- Character visual state feedback via ColorRect color
- Main scene loads saved state on startup
- SettingsMenu with music/sfx sliders and game reset
- HUD settings button to open SettingsMenu

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 12:17:56 +02:00

104 lines
2.7 KiB
Plaintext

[gd_scene load_steps=2 format=3 uid="uid://cozypaw_settings"]
[ext_resource type="Script" path="res://scripts/systems/settings_menu.gd" id="1_settings"]
[node name="SettingsMenu" type="CanvasLayer"]
script = ExtResource("1_settings")
visible = false
[node name="Backdrop" type="ColorRect" parent="."]
color = Color(0, 0, 0, 0.7)
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 0.0
offset_top = 0.0
offset_right = 0.0
offset_bottom = 0.0
grow_horizontal = 2
grow_vertical = 2
[node name="Panel" type="Panel" parent="."]
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -200.0
offset_top = -150.0
offset_right = 200.0
offset_bottom = 150.0
grow_horizontal = 2
grow_vertical = 2
[node name="Title" type="Label" parent="Panel"]
offset_left = 0.0
offset_top = 16.0
offset_right = 400.0
offset_bottom = 64.0
horizontal_alignment = 1
text = "⚙"
theme_override_font_sizes/font_size = 32
[node name="MusicLabel" type="Label" parent="Panel"]
offset_left = 24.0
offset_top = 76.0
offset_right = 80.0
offset_bottom = 108.0
text = "♪"
theme_override_font_sizes/font_size = 24
[node name="MusicSlider" type="HSlider" parent="Panel"]
min_value = 0.0
max_value = 1.0
step = 0.05
value = 0.6
offset_left = 88.0
offset_top = 76.0
offset_right = 376.0
offset_bottom = 108.0
[node name="SfxLabel" type="Label" parent="Panel"]
offset_left = 24.0
offset_top = 120.0
offset_right = 80.0
offset_bottom = 152.0
text = "🔊"
theme_override_font_sizes/font_size = 24
[node name="SfxSlider" type="HSlider" parent="Panel"]
min_value = 0.0
max_value = 1.0
step = 0.05
value = 1.0
offset_left = 88.0
offset_top = 120.0
offset_right = 376.0
offset_bottom = 152.0
[node name="ResetButton" type="Button" parent="Panel"]
offset_left = 24.0
offset_top = 172.0
offset_right = 88.0
offset_bottom = 236.0
text = "↺"
theme_override_font_sizes/font_size = 28
[node name="ResetConfirmDialog" type="ConfirmationDialog" parent="Panel"]
title = "Reset?"
dialog_text = "Spielstand löschen?"
[node name="CloseButton" type="Button" parent="Panel"]
offset_left = 312.0
offset_top = 172.0
offset_right = 376.0
offset_bottom = 236.0
text = "✕"
theme_override_font_sizes/font_size = 28
[connection signal="value_changed" from="Panel/MusicSlider" to="." method="_on_music_slider_value_changed"]
[connection signal="value_changed" from="Panel/SfxSlider" to="." method="_on_sfx_slider_value_changed"]
[connection signal="pressed" from="Panel/ResetButton" to="." method="_on_reset_button_pressed"]
[connection signal="confirmed" from="Panel/ResetConfirmDialog" to="." method="_on_reset_confirmed"]
[connection signal="pressed" from="Panel/CloseButton" to="." method="_on_close_button_pressed"]