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>
This commit is contained in:
37
scripts/systems/settings_menu.gd
Normal file
37
scripts/systems/settings_menu.gd
Normal file
@@ -0,0 +1,37 @@
|
||||
## SettingsMenu — overlay panel for audio volume and game reset.
|
||||
class_name SettingsMenu extends CanvasLayer
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
visible = false
|
||||
|
||||
|
||||
func show_menu() -> void:
|
||||
visible = true
|
||||
|
||||
|
||||
func hide_menu() -> void:
|
||||
visible = false
|
||||
|
||||
|
||||
func _on_music_slider_value_changed(value: float) -> void:
|
||||
AudioManager.set_music_volume(value)
|
||||
|
||||
|
||||
func _on_sfx_slider_value_changed(value: float) -> void:
|
||||
AudioManager.set_sfx_volume(value)
|
||||
|
||||
|
||||
func _on_reset_button_pressed() -> void:
|
||||
var dialog: ConfirmationDialog = get_node_or_null("Panel/ResetConfirmDialog") as ConfirmationDialog
|
||||
if dialog != null:
|
||||
dialog.popup_centered()
|
||||
|
||||
|
||||
func _on_reset_confirmed() -> void:
|
||||
SaveManager.reset_game()
|
||||
get_tree().reload_current_scene()
|
||||
|
||||
|
||||
func _on_close_button_pressed() -> void:
|
||||
hide_menu()
|
||||
Reference in New Issue
Block a user