| | |
| | | using System; |
| | | using UnityEngine; |
| | | using Spine.Unity; |
| | | using System.Collections.Generic; |
| | | |
| | | /// <summary> |
| | | /// 命格战斗对象 - 没有血量、没有实体,不会被攻击和选中,唯一作用是释放技能 |
| | |
| | | public class MinggeBattleObject : BattleObject |
| | | { |
| | | public TeamMingge teamMingge { get; private set; } |
| | | |
| | | // Buff 管理器(命格现在也需要 buff 系统) |
| | | public BattleObjectBuffMgr buffMgr; |
| | | |
| | | // 预留的命格 Buff 显示接口,供外部自定义显示逻辑 |
| | | public Action<List<HB428_tagSCBuffRefresh>> OnMinggeBuffRefresh; |
| | | |
| | | public MinggeBattleObject(BattleField _battleField) : base(_battleField) |
| | | { |
| | |
| | | Camp = _camp; |
| | | ObjID = teamMingge.ObjID; |
| | | |
| | | // 命格不需要 buff 管理器(命格释放技能但自身不会有 buff) |
| | | // 初始化 buff 管理器 |
| | | buffMgr = new BattleObjectBuffMgr(); |
| | | buffMgr.Init(this); |
| | | |
| | | layerMgr = new BattleObjectLayerMgr(); |
| | | layerMgr.Init(this); |
| | |
| | | |
| | | public override void Run() |
| | | { |
| | | // 命格运行逻辑(如果需要) |
| | | // 更新 buff 管理器 |
| | | buffMgr?.Run(); |
| | | } |
| | | |
| | | public override void Pause() |
| | |
| | | |
| | | public override void Destroy() |
| | | { |
| | | // 命格没有需要清理的资源 |
| | | // 清理显示回调 |
| | | OnMinggeBuffRefresh = null; |
| | | |
| | | // 清理 buff 管理器 |
| | | if (buffMgr != null) |
| | | { |
| | | buffMgr.Release(); |
| | | buffMgr = null; |
| | | } |
| | | } |
| | | |
| | | // ============ 实现抽象访问方法 ============ |
| | | |
| | | public override BattleObjectBuffMgr GetBuffMgr() => null; // 命格不有 buff 系统 |
| | | public override BattleObjectBuffMgr GetBuffMgr() => buffMgr; |
| | | |
| | | public override int GetPositionNum() => teamMingge.positionNum; |
| | | public override float GetModelScale() => teamMingge.modelScale; |
| | |
| | | |
| | | public override void HaveRest() |
| | | { |
| | | // 命格不需要休息状态 |
| | | // 清理 buff |
| | | buffMgr?.RemoveAllBuff(); |
| | | } |
| | | |
| | | |
| | | public override void SetSpeedRatio(float ratio) |
| | | { |
| | | // 命格不需要速度控制 |