36 lines
1.0 KiB
C#
36 lines
1.0 KiB
C#
using Godot;
|
|
|
|
public partial class GameEnding : Node3D
|
|
{
|
|
public void OnGameEnding()
|
|
{
|
|
var bgmPlayer = GetTree().Root.GetNode<BGMPlayer>("BgmPlayer");
|
|
bgmPlayer.Stop();
|
|
|
|
var videoPlayer = GetNode<VideoStreamPlayer>("VideoStreamPlayer");
|
|
videoPlayer.Play();
|
|
videoPlayer.Finished += CutsceneOver;
|
|
|
|
var gameManager = GetTree().Root.GetNode<GameManager>("Main/GameManager");
|
|
gameManager.OnLevelClear();
|
|
}
|
|
|
|
public void CutsceneOver()
|
|
{
|
|
var bgmPlayer = GetTree().Root.GetNode<BGMPlayer>("BgmPlayer");
|
|
bgmPlayer.ProcessMode = ProcessModeEnum.Always;
|
|
bgmPlayer.SetBGMFromFilepath("Audio/BGM/GameEnding.ogg");
|
|
bgmPlayer.PlayBGM();
|
|
|
|
var animationPlayer = GetNode<AnimationPlayer>("AnimationPlayer");
|
|
animationPlayer.Play("GameEnding");
|
|
animationPlayer.AnimationFinished += AfterCredits;
|
|
}
|
|
|
|
public void AfterCredits(StringName animationName)
|
|
{
|
|
var gameManager = GetTree().Root.GetNode<GameManager>("Main/GameManager");
|
|
gameManager.ReloadGameScene();
|
|
}
|
|
}
|