using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using Cysharp.Threading;
|
using Cysharp.Threading.Tasks;
|
|
/// <summary>
|
/// Main类,作为热更新程序集的入口点
|
/// </summary>
|
public class Main
|
{
|
public static List<IGameSystemManager> managers = new List<IGameSystemManager>();
|
|
/// <summary>
|
/// 初始化函数,由Launch类调用
|
/// </summary>
|
public static void Init()
|
{
|
Debug.Log("Main.Init() 被调用");
|
var launchWin = UIManager.Instance.GetUI<LaunchWin>();
|
if (launchWin != null)
|
{
|
launchWin.FadeOut();
|
}
|
SwitchToLoginScene();
|
}
|
|
private static void SwitchToLoginScene()
|
{
|
// Debug.Log("打开登录界面");
|
// UIManager.Instance.OpenWindow<LoginWin>();
|
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);
|
|
foreach (var manager in managers)
|
{
|
manager.Init();
|
}
|
|
await UniTask.Yield();
|
}
|
|
public static void OnEnterGameScene()
|
{
|
// 初始化游戏场景
|
Debug.Log("初始化游戏场景");
|
|
foreach (var manager in managers)
|
{
|
manager.RequestNessaryData();
|
}
|
|
UIManager.Instance.CloseWindow<LaunchBackGroundWin>();
|
UIManager.Instance.CloseWindow<LoginWin>();
|
}
|
|
public static void OnSwitchToLoginScene()
|
{
|
ReleaseMgrs();
|
}
|
|
private static void ReleaseMgrs()
|
{
|
foreach (var manager in managers)
|
{
|
manager.Release();
|
}
|
|
managers.Clear();
|
}
|
|
/// <summary>
|
/// 打开登录界面
|
/// </summary>
|
private static void OpenLoginUI()
|
{
|
|
|
|
}
|
}
|