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