123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- using System;
- using Fort23.Core;
- using Fort23.Mono;
- using Fort23.UTool;
- using GameLogic.Combat.CombatTool;
- using GameLogic.Combat.CombatType;
- using GameLogic.CombatScenesTool;
- using GameUI.Combat;
- using UnityEngine;
- using Utility;
- namespace GameLogic.Combat
- {
- public class CombatDrive : Singleton<CombatDrive>
- {
- public CombatController CombatController;
- private CombatMonoBaisc combatMonoBaisc;
- public async CTask Init()
- {
- string name = "CombatRoot.prefab";
- AssetHandle assetHandle = await AssetBundleLoadManager.Instance.LoadAssetAsyncTask<GameObject>(name);
- assetHandle.AssetObject<GameObject>().SetActive(true);
- //
- }
- public void AddCombatController(CombatController combatController)
- {
- this.CombatController = combatController;
- }
- public async CTask StartCombat(StartCombatInfo startCombatInfo)
- {
- combatMonoBaisc = new CombatMonoBaisc();
- CombatEquipFallManager.Instance.Dispose();
- CombatEquipFallManager.Instance.Init();
- CTaskAwaitBuffer cTaskAwaitBuffer = new CTaskAwaitBuffer();
- CombatShowTextPanel.OpenCombatShowTextPanel(cTaskAwaitBuffer);
- cTaskAwaitBuffer.AddTask(combatMonoBaisc.Init(CombatController));
- await cTaskAwaitBuffer.WaitAll();
- await ZhuanPanPanel.OpenZhuanPanPanel();
-
- LogTool.Log("战斗逻辑自己写");
- await CombatController.InitCombat(startCombatInfo);
- StaticUpdater.Instance.AddRenderUpdateCallBack(Update);
- }
- public void Update()
- {
- float t = Time.deltaTime;
- CombatController.Update(t);
- combatMonoBaisc.Update(t);
- }
- public void Dispose()
- {
- StaticUpdater.Instance.RemoveRenderUpdateCallBack(Update);
- }
- }
- }
|