Files
GameJam2023/Levels/Scenes/GameEnding.cs
2023-09-14 19:13:54 -07:00

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();
}
}