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