Files
GameJam2023/Scripts/MainMenu.cs
2023-09-06 01:32:54 -07:00

57 lines
1.5 KiB
C#

using Godot;
public partial class MainMenu : Node2D
{
private AnimationPlayer _animationPlayer;
[Signal]
public delegate void IntroAnimationsCompletedEventHandler();
public override void _Ready()
{
GetParent().GetNode<TextureRect>("MainMenu/UIAnimations/LoreSplash").Show();
_animationPlayer = GetTree().Root.GetNode<AnimationPlayer>("/root/Main/MainMenu/UIAnimations/AnimationPlayer");
_animationPlayer.Queue("IntroLore");
var bgmPlayer = GetTree().Root.GetNode<BGMPlayer>("BgmPlayer");
bgmPlayer.SetBGMFromFilepath("Audio/BGM/TitleTheme.wav");
bgmPlayer.PlayBGM();
}
private void OnSinglePlayerPressed()
{
_animationPlayer.Play("FirstLevel");
Hide();
_animationPlayer.AnimationFinished += OnAnimationFinishedCallSinglePlayerStart;
}
private void OnAnimationFinishedCallSinglePlayerStart(StringName animationName)
{
if (animationName == "FirstLevel")
{
var main = GetTree().Root.GetNode<Main>("/root/Main");
main.LoadLevel(0, 1);
}
}
private void OnTwoPlayerPressed()
{
_animationPlayer.Play("FirstLevel");
Hide();
_animationPlayer.AnimationFinished += OnAnimationFinishedCallTwoPlayerStart;
}
private void OnQuitButtonPressed()
{
GetTree().Quit();
}
private void OnAnimationFinishedCallTwoPlayerStart(StringName animationName)
{
if (animationName == "FirstLevel")
{
var main = GetTree().Root.GetNode<Main>("/root/Main");
main.LoadLevel(0, 2);
}
}
}