yyl
2026-04-24 97de31e9a015cf139f5293a22e1575a43dfb6733
Main/Main.cs
@@ -29,26 +29,42 @@
    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()