yyl
2026-04-28 ad3ac1661daaf4b445914f87009d3d88c990f040
Main/System/Battle/BattleObject/HeroBattleObject.cs
@@ -187,9 +187,9 @@
        }
    }
    
    public override Spine.TrackEntry PlaySkillAnimation(SkillConfig skillConfig, SkillSkinConfig skillSkinConfig, SkillBase skillBase, bool isCounter, Action onComplete)
    public override Spine.TrackEntry PlaySkillAnimation(SkillConfig skillConfig, SkillSkinConfig skillSkinConfig, SkillBase skillBase, bool isSubSkill, Action onComplete)
    {
        return motionBase.PlaySkillAnimation(skillConfig, skillSkinConfig, skillBase, isCounter, onComplete);
        return motionBase.PlaySkillAnimation(skillConfig, skillSkinConfig, skillBase, isSubSkill, onComplete);
    }
    
    public override bool CanStartDeath()
@@ -199,6 +199,15 @@
    
    public override bool CanCastSkillAnimation(SkillSkinConfig skillSkinConfig)
    {
        //  除了等 Spine 技能动画锁(playingSkillWithAnim),还必须等 caster 自身由 SkillBase.MoveToTarget
        //  发起的前冲 / 回位 tween 跑完。否则上一个技能的回位 tween 还在半路,下一个技能(尤其是被动
        //  BattleType=5)会在当前位置再发起前冲,旧回位 tween 和新前冲 tween 同时写 anchoredPosition,
        //  视觉表现是"没回位又突然冲出去攻击"。这里只判定 SkillBase 自己记录的移动 tween 句柄,不误伤
        //  挂在 heroRectTrans 上的其它业务 tween。
        if (activeMoveTween != null && activeMoveTween.IsActive() && !activeMoveTween.IsComplete())
        {
            return false;
        }
        return motionBase.CanCastSkill(skillSkinConfig);
    }