Files
Cozypaw-Hospital/scripts/systems/hud.gd
Steven Wroblewski 6b0c41bbfd fix(core): resolve review findings in Sprint 3-4
- Fix SaveManager reset_game to use DirAccess.remove correctly
- Add null check for FileAccess.open in save_game
- Fix AudioManager crossfade tween callback chain
- Replace fragile absolute HUD path with relative onready
- Guard character position save against empty id
- Add GameState.has_character_position helper
- Emit room_changed signal after tween completes
- Add target_floor validation in ElevatorButton
- Persist audio settings via GameState
- Add class_name to RoomNavigator, AudioManager, HUD

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

27 lines
835 B
GDScript

## HUD — heads-up display with back button, music toggle, and settings access.
class_name HUD extends CanvasLayer
const MUSIC_ON_SYMBOL: String = ""
const MUSIC_OFF_SYMBOL: String = ""
var _music_enabled: bool = true
@onready var _settings_menu: SettingsMenu = get_node_or_null("../SettingsMenu") as SettingsMenu
func _on_back_button_pressed() -> void:
get_tree().quit()
func _on_music_toggle_pressed() -> void:
_music_enabled = not _music_enabled
var volume: float = AudioManager.DEFAULT_MUSIC_VOLUME if _music_enabled else 0.0
AudioManager.set_music_volume(volume)
var btn: Button = get_node_or_null("MusicToggle") as Button
if btn != null:
btn.text = MUSIC_ON_SYMBOL if _music_enabled else MUSIC_OFF_SYMBOL
func _on_settings_button_pressed() -> void:
if _settings_menu != null:
_settings_menu.show_menu()