Files
Babushka/scripts/CSharp/Common/Fight/SwitchSceneOnFightEnd.cs
T
2025-12-16 15:34:52 +01:00

28 lines
755 B
C#

using System.Threading.Tasks;
using Godot;
namespace Babushka.scripts.CSharp.Common.Fight;
public partial class SwitchSceneOnFightEnd : Node
{
[Export] private FightSceneSwitcher _fightSceneSwitcher = null!;
public void OnFightStateEnter(FightHappening.FightState to)
{
if (to is FightHappening.FightState.PlayerWin )
_ = SwitchSceneAfterTime(2.0f);
if (to is FightHappening.FightState.EnemyWin)
{
_fightSceneSwitcher.ExitFight();
_fightSceneSwitcher.ExitFightWorld();
}
}
private async Task SwitchSceneAfterTime(float seconds)
{
await ToSignal(GetTree().CreateTimer(seconds), "timeout");
_fightSceneSwitcher.ExitFight();
}
}