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