2025-03-10 11:01:12 +01:00
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using Godot;
|
|
|
|
|
|
|
|
|
|
namespace Cirno.Scripts.UI;
|
|
|
|
|
|
|
|
|
|
public partial class IntroLogos : CanvasLayer
|
|
|
|
|
{
|
|
|
|
|
[Export]
|
|
|
|
|
public float TransitionTime = 4f;
|
|
|
|
|
|
|
|
|
|
[Export]
|
|
|
|
|
public StringName IntroScenePath;
|
|
|
|
|
|
|
|
|
|
private bool _isTransitioning = false;
|
|
|
|
|
|
|
|
|
|
public override void _Ready()
|
|
|
|
|
{
|
2025-03-24 15:36:35 +01:00
|
|
|
OptionsMenu.LoadSettings();
|
2025-03-10 11:01:12 +01:00
|
|
|
_ = AutoTransition();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void _Process(double delta)
|
|
|
|
|
{
|
|
|
|
|
if (_isTransitioning) return;
|
|
|
|
|
if (Input.IsAnythingPressed())
|
|
|
|
|
{
|
|
|
|
|
_isTransitioning = true;
|
|
|
|
|
GlobalState.Instance.GotoScene(IntroScenePath);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async Task AutoTransition()
|
|
|
|
|
{
|
|
|
|
|
await Task.Delay((int)(TransitionTime * 1000));
|
|
|
|
|
if (_isTransitioning) return;
|
|
|
|
|
_isTransitioning = true;
|
|
|
|
|
GlobalState.Instance.GotoScene(IntroScenePath);
|
|
|
|
|
}
|
|
|
|
|
}
|