extends AnimationPlayer # This scene player now responds to scene signals to handle music and animations. # The actual story playback is managed by CollectableUi directly. func _ready() -> void: Scenes.scene_starting.connect(_on_scene_starting) Scenes.scene_finished.connect(_on_scene_finished) func start_soundtrack(): $Moving.play(70) $Childhood.play(70) $VoiceTraining.play(70) func _on_scene_starting(scene_id: Scenes.id, _repeat: bool) -> void: # Handle scene-specific music # Note: Chest animation is now handled by YouthRoom.prepare_scene_start() match scene_id: Scenes.id.YOUTH_CHILDHOOD: play("childhood_music") Scenes.id.YOUTH_VOICE_TRAINING: play("voice_music") Scenes.id.YOUTH_JUI_JUTSU: play("jui_jutsu_music") Scenes.id.YOUTH_DRAVEN: play("draven") func _on_scene_finished(scene_id: Scenes.id, _repeat: bool) -> void: print_debug("YouthRoomScenePlayer._on_scene_finished(%s)" % Scenes.id.keys()[scene_id]) match scene_id: Scenes.id.YOUTH_CHILDHOOD: play_backwards("childhood_music") Scenes.id.YOUTH_VOICE_TRAINING: play_backwards("voice_music") queue("RESET") func play(anim_name: StringName = "", a: float = -1, b: float = 1, c: bool = false) -> void: print_debug("YouthRoomScenePlayer.play(%s)" % anim_name) super.play(anim_name, a, b, c)