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(); _root.AddComponent(); 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(); _root.AddComponent(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(); } }