yyl
2026-01-09 ed9bf64c03bf5fee5e115645de5a975baaa9041d
Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
@@ -5,6 +5,8 @@
{
   protected SkillBase skillBase;
   public HB427_tagSCUseSkill hB427_TagSCUseSkill;
   private bool isCast = false;
   public SkillBase fromSkill = null;
@@ -15,12 +17,26 @@
      // Debug.LogError("_caster == null : " + (_caster == null));
      skillBase = SkillFactory.CreateSkill(_caster, vNetData, packList, _battleField);
      hB427_TagSCUseSkill = vNetData;
      if (null == skillBase)
      {
         BattleUtility.ForceFinishBattlePackList(battleField, packList);
      }
      else
      {
         //  让SkillBase知道自己的RecordAction
         skillBase.SetParentRecordAction(this);
      }
   }
    public override bool IsNeedWaiting()
    {
      if (skillBase == null)
      {
         return false;
      }
        return !string.IsNullOrEmpty(skillBase.skillConfig.SkillMotionName);
    }
   public override bool IsFinished()
   {
@@ -29,6 +45,16 @@
         return true;
      }
      return skillBase.IsFinished();
   }
   //  检查自身动作是否完成(不包括子节点)
   public override bool IsActionCompleted()
   {
      if (null == skillBase)
      {
         return true;
      }
      return skillBase.IsFinishedForJudge();
   }
   public bool IsFinishedForJudge()
@@ -49,6 +75,23 @@
      }
        base.ForceFinish();
    }
   public override bool CanStartExecution()
   {
      if (null == skillBase)
      {
         return false;
      }
      if (!skillBase.CanStartExecution())
      {
         return false;
      }
      return base.CanStartExecution();
   }
   public override void Run()
   {
@@ -67,6 +110,8 @@
      if (isCast)
         return;
      Played();
      if (fromSkill != null)
      {
         BattleDebug.LogError("cast skill from skill : " + fromSkill.skillConfig.SkillID);