79 lines
2.0 KiB
GDScript3
79 lines
2.0 KiB
GDScript3
|
|
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)
|