| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | using Core.AssetLoadTool.Asset;using Core.Language;using Fort23.Core;using Fort23.Mono;using Fort23.UTool;using GameLogic.Combat;using GameLogic.Combat.CombatTool;using GameLogic.Combat.CombatType;using UnityEngine;using UnityEngine.UI;using Utility.CTween;using Utility.UITool;public class GameApplction : MonoBehaviour{    public ShaderVariantCollection ShaderVariantCollection;    public BundleLoadType BundleLoadType;    public string h5Url;    private Entity _root;    private Entity _scene;    public bool isTest;    public int levelBattleId;    private async void Start()    {        // ShaderVariantCollection.WarmUp();        await InitGameApplication();        Debug.Log("初始化完成");    }    private async CTask InitGameApplication()    {        _scene = new Scene();        _root = new Entity();        _root.Parent = _scene;        _root.AddComponent<TimerComponent>();        _root.AddComponent<CoroutineLockComponent>();        AssetBundleLoadManager.Instance.BundleLoadType = BundleLoadType;        AssetBundleLoadManager.Instance.h5Url = h5Url;        await AssetBundleLoadManager.Instance.InitAssetsManager(null);        await ConfigComponent.Instance.Preload();        await AnimationCurveManager.Instance.Init();        UGUIPackLoad uguiPackLoad = new UGUIPackLoad();        UGUIPackManager.Instance.SetIUGUIPackLoad(uguiPackLoad);        await uguiPackLoad.InitPack();        await LanguageManager.Instance.InitManager();        _root.AddComponent<StaticUpdater>();        _root.AddComponent<UIManager, Transform>(transform);        await UIManager.Instance.InitUI();        CustomTweenManager.Init();        PlayerManager.Instance.Init();        // PlayerManager.Instance.InitTestHero();        //主UI加载        MainSceneController.Instance.Init();        StartCombatInfo startCombatInfo = new StartCombatInfo();        startCombatInfo.CombatType = isTest ? CombatType.TestCombat : CombatType.LevelBattle;        startCombatInfo.levelBattleId = levelBattleId;        CombatDrive.Instance.AddCombatController(new CombatController());        await CombatDrive.Instance.StartCombat(startCombatInfo);    }    public void Update()    {        EventSystem.Instance.Update();        AssetBundleLoadManager.Instance.UpdateBundle();        TimeHelper.clientFrame = TimeHelper.ClientFrame() + (long)(Time.deltaTime * 1000);    }    public void LateUpdate()    {        EventSystem.Instance.LateUpdate();    }}
 |