12345678910111213141516171819202122232425262728293031323334353637383940 |
- using System;
- using Fort23.Core;
- using Fort23.Mono;
- using GameLogic.Combat.CombatTool;
- using GameLogic.CombatScenesTool;
- using UnityEngine;
- using Utility;
- namespace GameLogic.Combat
- {
- public class CombatDrive : Singleton<CombatDrive>
- {
- public CombatController CombatController;
- public async CTask AddCombatController(CombatController combatController)
- {
- 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();
- this.CombatController = combatController;
- await CombatController.InitCombat();
- StaticUpdater.Instance.AddRenderUpdateCallBack(Update);
- }
- public void Update()
- {
- CombatController.Update(Time.deltaTime);
- }
- public void Dispose()
- {
- StaticUpdater.Instance.RemoveRenderUpdateCallBack(Update);
- }
- }
- }
|