Frame/Assets/Scripts/Procedure/LoadingGameSceneProcedure.cs

27 lines
824 B
C#

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