| | |
| | | public static void Init()
|
| | | {
|
| | | Debug.Log("Main.Init() 被调用");
|
| | | var launchWin = UIManager.Instance.GetUI<LaunchWin>();
|
| | | if (launchWin != null)
|
| | | {
|
| | | launchWin.FadeOut();
|
| | | }
|
| | | // 不关闭 LaunchWin,保留到 config 加载完成后再关闭
|
| | | SwitchToLoginScene().Forget();
|
| | | }
|
| | |
|
| | | private static async UniTask SwitchToLoginScene()
|
| | | {
|
| | | // Debug.Log("打开登录界面");
|
| | | // UIManager.Instance.OpenWindowAsync<LoginWin>().Forget();
|
| | | Debug.Log("切换到登录场景");
|
| | | await ConfigManager.Instance.Init();
|
| | | Debug.Log("切换到登录场景 - 开始加载全量配置");
|
| | |
|
| | | // 在 LaunchWin 上显示 config 加载进度
|
| | | LaunchInHot.m_CurrentStage = LaunchStage.ConfigInit;
|
| | | LaunchInHot.SetProgressInfo(new LaunchProgressInfo(LaunchStage.ConfigInit, 1, 0f, 0f));
|
| | |
|
| | | // 启动全量配置加载
|
| | | var configInitTask = ConfigManager.Instance.Init();
|
| | |
|
| | | // 持续更新进度,直到加载完成
|
| | | while (!ConfigManager.Instance.isLoadFinished)
|
| | | {
|
| | | float p = ConfigManager.Instance.GetLoadingProgress();
|
| | | LaunchInHot.SetProgressInfo(new LaunchProgressInfo(LaunchStage.ConfigInit, 1, p, p));
|
| | | await UniTask.Yield();
|
| | | }
|
| | | await configInitTask;
|
| | |
|
| | | // 配置加载完成,关闭 LaunchWin
|
| | | var launchWin = UIManager.Instance.GetUI<LaunchWin>();
|
| | | if (launchWin != null)
|
| | | {
|
| | | launchWin.FadeOut();
|
| | | }
|
| | |
|
| | | GeneralDefine.Init();
|
| | | #if UNITY_EDITOR
|
| | | SysNotifyMgr.Instance.BeforePlayerDataInitializeEvent();
|
| | | #endif
|
| | | StageManager.Instance.ToLoginScene().Forget();
|
| | |
|
| | | }
|
| | |
|
| | | public static async UniTask InitManagers()
|