1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- using System;
- using Fort23.Core;
- using Fort23.Mono;
- using GameLogic.Combat.CombatTool;
- using GameLogic.Combat.CombatType;
- using GameLogic.CombatScenesTool;
- using UnityEngine;
- using Utility;
- namespace GameLogic.Combat
- {
- public class CombatDrive : Singleton<CombatDrive>
- {
- public CombatController CombatController;
-
- 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)
- {
- CombatEquipFallManager.Instance.Dispose();
- CombatEquipFallManager.Instance.Init();
- CTaskAwaitBuffer cTaskAwaitBuffer = new CTaskAwaitBuffer();
- cTaskAwaitBuffer.AddTask(CombatHPPanel.OpenCombatHPPanel());
- cTaskAwaitBuffer.AddTask(ShowTextPanel.OpenShowTextPanel());
- CombatShowTextPanel.OpenCombatShowTextPanel(cTaskAwaitBuffer);
- cTaskAwaitBuffer.AddTask(ShowItemMoveToTargetPanel.OpenShowItemMoveToTargetPanel());
- await cTaskAwaitBuffer.WaitAll();
- await CombatController.InitCombat(startCombatInfo);
- StaticUpdater.Instance.AddRenderUpdateCallBack(Update);
- }
- public void Update()
- {
- CombatController.Update(Time.deltaTime);
- }
- public void Dispose()
- {
- StaticUpdater.Instance.RemoveRenderUpdateCallBack(Update);
- }
- }
- }
|