hch
2025-11-20 ed98029a88cd89702980ac7c40b711afddc5aeb2
Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
@@ -7,28 +7,45 @@
   private bool isCast = false;
   public SkillRecordAction(BattleField _battleField, BattleObject _caster, H0604_tagUseSkillAttack vNetData)
   public SkillBase fromSkill = null;
   public SkillRecordAction(BattleField _battleField, BattleObject _caster, HB427_tagSCUseSkill vNetData, List<GameNetPackBasic> packList)
      : base(RecordActionType.Skill, _battleField, _caster)
   {
      skillBase = SkillFactory.CreateSkill(_caster, vNetData, _battleField);
      // Debug.LogError("_caster == null : " + (_caster == null));
      skillBase = SkillFactory.CreateSkill(_caster, vNetData, packList, _battleField);
   }
   public override bool IsFinished()
   {
      if (null == skillBase)
      {
         return true;
      }
      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();
      }
@@ -36,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;
    }
   }
}