using System.Threading.Tasks; using UnityEngine; namespace DDD { [CreateAssetMenu(fileName = "FadeSceneTransitionHandlerSo", menuName = "GameFramework/FadeSceneTransitionHandlerSo")] public class FadeSceneTransitionHandlerSo : SceneTransitionHandler { [SerializeField] private float _delayBeforeFadeIn = 1f; public override async Task OnBeforeSceneActivate(SceneType sceneType) { await FadeManager.Instance.FadeOut(); } public override async Task OnAfterSceneActivate(SceneType sceneType) { await Task.Delay((int)(_delayBeforeFadeIn * 1000)); await FadeManager.Instance.FadeIn(); } } }