using Cysharp.Threading.Tasks; using AlicizaX; namespace Unity.Startup.Procedure { /// /// 启动游戏 /// public class ProcedureLauncherState : StateBase { private bool _gameSettingInitFinish; protected override async void OnEnter() { await UniTask.Delay(1000); LauncherUIHandler.Start().Forget(); InitlizeGameSetting(); } private async void Start() { await UniTask.NextFrame(); SwitchState(UpdateProcedureState.ProcedureGetGlobalInfoState); } protected override void OnUpdate(float deltaTime) { base.OnUpdate(deltaTime); if (_gameSettingInitFinish) { Start(); } } private void InitlizeGameSetting() { _gameSettingInitFinish = true; } } }