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>
This commit is contained in:
@@ -5,12 +5,13 @@ extends Node2D
|
||||
func _ready() -> void:
|
||||
RoomNavigator.initialize($Camera2D)
|
||||
SaveManager.load_game()
|
||||
AudioManager.set_music_volume(GameState.music_volume)
|
||||
AudioManager.set_sfx_volume(GameState.sfx_volume)
|
||||
_apply_saved_state()
|
||||
|
||||
|
||||
func _apply_saved_state() -> void:
|
||||
for character in $Characters.get_children():
|
||||
if character is Character and character.data != null:
|
||||
var pos: Vector2 = GameState.get_character_position(character.data.id)
|
||||
if pos != Vector2.ZERO:
|
||||
character.global_position = pos
|
||||
if GameState.has_character_position(character.data.id):
|
||||
character.global_position = GameState.get_character_position(character.data.id)
|
||||
|
||||
Reference in New Issue
Block a user