52 lines
1.5 KiB
C#
52 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/titlemusic.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 OnAnimationFinishedCallTwoPlayerStart(StringName animationName)
|
|
{
|
|
if (animationName == "FirstLevel")
|
|
{
|
|
var main = GetTree().Root.GetNode<Main>("/root/Main");
|
|
main.LoadLevel(0, 2);
|
|
}
|
|
}
|
|
}
|