yyl
25 分钟以前 a84c7d64980873ce50f9f5beb18f790a4b79045a
Main/Main.cs
@@ -4,7 +4,6 @@
using UnityEngine;
using Cysharp.Threading;
using Cysharp.Threading.Tasks;
using System.Threading.Tasks;
/// <summary>
/// Main类,作为热更新程序集的入口点
@@ -16,28 +15,15 @@
    /// <summary>
    /// 初始化函数,由Launch类调用
    /// </summary>
    public static async UniTask Init()
    public static void Init()
    {
        Debug.Log("Main.Init() 被调用");
        await InitSystems();
        Debug.Log("关闭加载界面");
        LaunchLoadingWin.Instance.CloseWindow();
        var launchWin = UIManager.Instance.GetUI<LaunchWin>();
        if (launchWin != null)
        {
            launchWin.FadeOut();
        }
        SwitchToLoginScene();
    }
    /// <summary>
    /// 初始化游戏系统
    /// </summary>
    private static async UniTask InitSystems()
    {
        // 这里可以初始化大型系统 贯穿整个游戏的系统
        await ResManager.Instance.Init();
        UIManager.Instance.Init();
        StageManager.Instance.Init();
        LoginManager.Instance.Init();
    }
    private static void SwitchToLoginScene()
@@ -47,6 +33,49 @@
        Debug.Log("切换到登录场景");
        ConfigManager.Instance.Init();
        StageManager.Instance.ToLoginScene();
        DTC0403_tagPlayerLoginLoadOK.finishedLogin = false;
        DTC0102_tagCDBPlayer.isAfterPlayerDataInitialize = false;
    }
    public static async UniTask InitManagers()
    {
        ReleaseMgrs();
        // 初始化游戏系统
        managers.Add(BattleManager.Instance);
        managers.Add(VirtualPackManager.Instance);
        managers.Add(RoleParticularModel.Instance);
        managers.Add(RechargeManager.Instance);
        managers.Add(RoleParticularModel.Instance);
        managers.Add(StoreModel.Instance);
        managers.Add(PhantasmPavilionModel.Instance);
        managers.Add(FairyModel.Instance);
        managers.Add(TeamManager.Instance);
        managers.Add(TaskManager.Instance);
        managers.Add(DailySpecialsModel.Instance);
        managers.Add(MailManager.Instance);
        managers.Add(PackManager.Instance);
        managers.Add(HappyXBModel.Instance);
        managers.Add(HeroManager.Instance);
        managers.Add(GMCmdManager.Instance);
        managers.Add(FairyEmblemModel.Instance);
        managers.Add(EquipModel.Instance);
        managers.Add(DungeonModel.Instance);
        managers.Add(DailyQuestModel.Instance);
        managers.Add(CustomizedRechargeModel.Instance);
        managers.Add(CustomizedGiftModel.Instance);
        managers.Add(ChatManager.Instance);
        managers.Add(ChatBubbleManager.Instance);
        managers.Add(OfficialRankManager.Instance);
        managers.Add(RankModel.Instance);
        foreach (var manager in managers)
        {
            manager.Init();
        }
        await UniTask.Yield();
    }
    public static void OnEnterGameScene()
@@ -54,25 +83,23 @@
        // 初始化游戏场景
        Debug.Log("初始化游戏场景");
        // 初始化游戏系统
        managers.Add(PlaceManager.Instance);
        managers.Add(BattleManager.Instance);
        managers.Add(TeamManager.Instance);
        foreach (var manager in managers)
        {
            manager.Init();
        }
        foreach (var manager in managers)
        {
            manager.RequestNessaryData();
        }
        UIManager.Instance.CloseWindow<LaunchBackGroundWin>();
        UIManager.Instance.CloseWindow<LoginWin>();
    }
    public static void OnSwitchToLoginScene()
    {
        //  前面有重新InitManagers了 这里就不在做清除
        // ReleaseMgrs();
    }
    private static void ReleaseMgrs()
    {
        foreach (var manager in managers)
        {
            manager.Release();