lcy
2025-11-05 3b2a6bb9047cfce9f501593b3669a9c1af6c5df4
Main/System/Battle/Skill/DirectlyDamageSkill.cs
@@ -7,46 +7,12 @@
public class DirectlyDamageSkill : SkillBase
{
   protected SkillEffect skillEffect;
   public DirectlyDamageSkill(BattleObject _caster, SkillConfig _skillCfg,
         HB427_tagSCUseSkill _vNetData, List<GameNetPackBasic> _packList, BattleField _battleField)
         : base(_caster, _skillCfg, _vNetData, _packList, _battleField)
   {
      foreach (var pack in packList)
      {
         Debug.LogError("directly damage skill pack type is " + pack.GetType());
      }
   }
   public override void Run()
   {
      if (null != skillEffect)
      {
         skillEffect.Run();
      }
      base.Run();
   }
   //   技能开始
   public override void OnSkillStart()
   {
      skillEffect = SkillEffectFactory.CreateSkillEffect(
            caster,
            skillConfig,
            tagUseSkillAttack
         );
      if (skillEffect != null)
      {
         skillEffect.Play(OnHitTargets);
      }
   }
   //   前摇结束
   public override void OnStartSkillFrameEnd()
   {
      base.OnStartSkillFrameEnd();
   }
   protected override void OnHitTargets(int _hitIndex, List<HB427_tagSCUseSkill.tagSCUseSkillHurt> hitList)
@@ -54,29 +20,10 @@
      base.OnHitTargets(_hitIndex, hitList);
   }
   protected override void OnHitEachTarget(BattleObject target, long totalDamage, List<long> damageList, ref HB427_tagSCUseSkill.tagSCUseSkillHurt hurt)
   protected override void OnAllAttackMoveFinished()
   {
      base.OnHitEachTarget(target, totalDamage, damageList, ref hurt);
   }
      base.OnAllAttackMoveFinished();
   public override void OnMiddleFrameStart(int times)
   {
      base.OnMiddleFrameStart(times);
      skillEffect?.OnMiddleFrameStart(times);
   }
   //  中摇结束(命中帧)
   public override void OnMiddleFrameEnd(int times, int hitIndex)
   {
      skillEffect?.OnMiddleFrameEnd(times, hitIndex);
   }
   //   后摇结束
   public override void OnFinalFrameEnd()
   {
      OnSkillFinished();
   }
}