using Cysharp.Threading.Tasks; namespace Game { class LoadingGameSceneProcedure : ProcedureBase { public override void OnEnter() { base.OnEnter(); UniTask.Create(async () => { await ResourceManager.Instance.LoadSceneAsync(SceneType.Game.ToString()); EventManager.Instance.FireNow(this,new LoadingGameSceneFinishEventArgs(true)); this.OnLeave(); }); } public override void OnLeave() { base.OnLeave(); UIManager.Instance.CreateUI(UIType.GameSceneMainUI); UIManager.Instance.ShowUI(UIType.GameSceneMainUI); ProcedureManager.Instance.ChangeProcedure(ProcedureType.GameSceneLogicProcedure); } } }