yyl
9 天以前 eac792dad536d79f233978d7e6da2e714d56e29a
Main/System/Battle/BattleObject/MinggeBattleObject.cs
@@ -2,6 +2,7 @@
using System;
using UnityEngine;
using Spine.Unity;
using System.Collections.Generic;
/// <summary>
/// 命格战斗对象 - 没有血量、没有实体,不会被攻击和选中,唯一作用是释放技能
@@ -9,6 +10,12 @@
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)
    {
@@ -20,7 +27,9 @@
        Camp = _camp;
        ObjID = teamMingge.ObjID;
        
        // 命格不需要 buff 管理器(命格释放技能但自身不会有 buff)
        // 初始化 buff 管理器
        buffMgr = new BattleObjectBuffMgr();
        buffMgr.Init(this);
        
        layerMgr = new BattleObjectLayerMgr();
        layerMgr.Init(this);
@@ -28,7 +37,8 @@
    public override void Run()
    {
        // 命格运行逻辑(如果需要)
        // 更新 buff 管理器
        buffMgr?.Run();
    }
    public override void Pause()
@@ -43,12 +53,20 @@
    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;
@@ -189,9 +207,10 @@
    public override void HaveRest()
    {
        // 命格不需要休息状态
        // 清理 buff
        buffMgr?.RemoveAllBuff();
    }
    public override void SetSpeedRatio(float ratio)
    {
        // 命格不需要速度控制