extends AnimationPlayer var has_stage var is_repeating = false func _ready() -> void: Scenes.scene_finished.connect(scene_finished) # FIXME: this needs to be made prettier. $draven.finished.connect(on_draeven_done) $childhood.finished.connect(on_childhood_done) $JuiJutsu.finished.connect(on_jui_jutsu_done) $voice_training.finished.connect(on_voice_training_done) $draven.intro.connect(try_intro) Scenes.sign_up_for_sequence(play_scene, Scenes.id.YOUTH_DRAEVEN, 1) Scenes.sign_up_for_sequence(play_scene, Scenes.id.YOUTH_CHILDHOOD, 0) Scenes.sign_up_for_sequence(play_scene, Scenes.id.YOUTH_VOICE_TRAINING, 1) Scenes.sign_up_for_sequence(play_scene, Scenes.id.YOUTH_JUI_JUTSU, 0) func start_soundtrack(): $Moving.play(70) $Childhood.play(70) $VoiceTraining.play(70) func play_scene(id: int, repeat = false): get_tree().call_group("interactables", "collapse") is_repeating = repeat Input.mouse_mode = Input.MOUSE_MODE_HIDDEN match id: Scenes.id.YOUTH_CHILDHOOD: play("childhood_music") $childhood.play() Scenes.id.YOUTH_VOICE_TRAINING: $voice_training.play() play("voice_music") Scenes.id.YOUTH_JUI_JUTSU: play("jui_jutsu_music") $JuiJutsu.play() Scenes.id.YOUTH_DRAEVEN: play("draeven") $draven.play() func on_childhood_done(): Scenes.continue_sequence(self) $childhood.hide() func on_voice_training_done(): Scenes.continue_sequence(self) $"voice_training".hide() func on_jui_jutsu_done(): Scenes.continue_sequence(self) $JuiJutsu.hide() if $JuiJutsu.was_skipped: play("intro") func on_draeven_done(): Scenes.continue_sequence(self) await $draven.finished $draven.hide() func try_intro(): if $draven.was_skipped: play("intro") func scene_finished(id: Scenes.id, _repeat: bool): match id: Scenes.id.YOUTH_CHILDHOOD: play_backwards("childhood_music") Scenes.id.YOUTH_VOICE_TRAINING: play_backwards("voice_music") queue("RESET") func play(anin_name: StringName = "", a: float = -1, b: float = 1, c: bool = false) -> void: print_debug("anim player accessed!") super.play(anin_name, a, b, c)