| | |
| | | using UnityEngine;
|
| | | using Cysharp.Threading;
|
| | | using Cysharp.Threading.Tasks;
|
| | | using System.Threading.Tasks;
|
| | |
|
| | | /// <summary>
|
| | | /// Main类,作为热更新程序集的入口点
|
| | |
| | | public static void Init()
|
| | | {
|
| | | Debug.Log("Main.Init() 被调用");
|
| | |
|
| | | LaunchLoadingWin.Instance.CloseWindow();
|
| | |
|
| | | var launchWin = UIManager.Instance.GetUI<LaunchWin>();
|
| | | if (launchWin != null)
|
| | | {
|
| | | launchWin.FadeOut();
|
| | | }
|
| | | SwitchToLoginScene();
|
| | | }
|
| | |
|
| | |
| | | // UIManager.Instance.OpenWindow<LoginWin>();
|
| | | Debug.Log("切换到登录场景");
|
| | | ConfigManager.Instance.Init();
|
| | | GeneralDefine.Init();
|
| | | #if UNITY_EDITOR
|
| | | SysNotifyMgr.Instance.BeforePlayerDataInitializeEvent();
|
| | | #endif
|
| | | StageManager.Instance.ToLoginScene();
|
| | |
|
| | | ClearGameData();
|
| | |
|
| | | }
|
| | |
|
| | | 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);
|
| | | managers.Add(PlayerMainDate.Instance);
|
| | | managers.Add(HeroUIManager.Instance);
|
| | | managers.Add(InvestModel.Instance);
|
| | | managers.Add(BlessLVManager.Instance);
|
| | | managers.Add(AutoFightModel.Instance);
|
| | | managers.Add(MainLevelManager.Instance);
|
| | |
|
| | | foreach (var manager in managers)
|
| | | {
|
| | | manager.Init();
|
| | | }
|
| | |
|
| | | await UniTask.Yield();
|
| | | }
|
| | |
|
| | | public static void OnEnterGameScene()
|
| | |
| | | // 初始化游戏场景
|
| | | Debug.Log("初始化游戏场景");
|
| | |
|
| | | ReleaseMgrs();
|
| | |
|
| | | // 初始化游戏系统
|
| | | managers.Add(BattleManager.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()
|
| | | {
|
| | | ReleaseMgrs();
|
| | | // 前面有重新InitManagers了 这里就不在做清除
|
| | | // ReleaseMgrs();
|
| | | }
|
| | |
|
| | | private static void ReleaseMgrs()
|
| | |
| | |
|
| | | managers.Clear();
|
| | | }
|
| | | |
| | |
|
| | | /// <summary>
|
| | | /// 打开登录界面
|
| | | /// </summary>
|
| | | private static void OpenLoginUI()
|
| | | {
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | //这里清理时机一定是重新登录/切换账号,而不是短暂的断线重连
|
| | | static void ClearGameData()
|
| | | {
|
| | | DTC0403_tagPlayerLoginLoadOK.finishedLogin = false;
|
| | | DTC0102_tagCDBPlayer.isAfterPlayerDataInitialize = false;
|
| | | ConfirmCancel.toggleCheckDict.Clear();
|
| | | }
|
| | | } |