hch
2025-11-21 eb27e5fd31f73b998a4bbd85511a31e40b8c61b7
Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
@@ -7,11 +7,14 @@
   private bool isCast = false;
   public SkillBase fromSkill = null;
   public SkillRecordAction(BattleField _battleField, BattleObject _caster, HB427_tagSCUseSkill vNetData, List<GameNetPackBasic> packList)
      : base(RecordActionType.Skill, _battleField, _caster)
   {
      // Debug.LogError("_caster == null : " + (_caster == null));
      skillBase = SkillFactory.CreateSkill(_caster, vNetData, packList, _battleField);
      BattleDebug.LogError("skill record action tpye : " + skillBase.GetType().Name);
   }
   public override bool IsFinished()
@@ -23,17 +26,26 @@
      return skillBase.IsFinished();
   }
    public override void Run()
    public override void ForceFinish()
    {
        base.Run();
      //  设置结束flag 记得清空motionBase里的事件
      if (null != skillBase)
      {
         skillBase.ForceFinished();
      }
        base.ForceFinish();
    }
   public override void Run()
   {
      base.Run();
      if (null == skillBase)
      {
         return;
      }
      if (!skillBase.IsFinished())
      if (isCast && !skillBase.IsFinished())
      {
         skillBase.Run();
      }
@@ -41,8 +53,17 @@
      if (isCast)
         return;
      if (fromSkill != null)
      {
         BattleDebug.LogError("cast skill from skill : " + fromSkill.skillConfig.SkillID);
      }
      // Debug.LogError("cast skill id is " + skillBase.skillConfig.SkillID);
      skillBase.fromSkill = fromSkill;
      skillBase.Cast();
      isCast = true;
    }
   }
}