hch
2025-10-17 cb653cf75b17b9bdca0b5b9e6b88edf1ca72e90c
Main/System/Battle/Skill/DirectlyDamageSkill.cs
@@ -4,81 +4,26 @@
using System;
using System.Linq;
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();
   }
   //   技能动画播放完毕
   protected override void DoSkillLogic(Action _onComplete = null)
   {
      // if (skillConfig.EffectId > 0)
      // {
      //    // 播放技能特效
      //    caster.battleField.battleEffectMgr.PlayEffect(
      //       caster.ObjID,
      //       skillConfig.EffectId,
      //       caster.heroGo.transform
      //    );
      // }
      _onComplete?.Invoke();
   }
   //   前摇结束
   protected override void OnStartSkillFrame()
   {
      skillEffect = SkillEffectFactory.CreateSkillEffect(
            caster,
            skillConfig,
            tagUseSkillAttack
         );
      if (skillEffect != null)
      {
         skillEffect.Play(OnHitTargets);
      }
   }
   protected override void OnHitTargets(int _hitIndex, List<HB427_tagSCUseSkill.tagSCUseSkillHurt> hitList)
   {
      base.OnHitTargets(_hitIndex, hitList);
    }
   protected override void OnHitEachTarget(BattleObject target, long totalDamage, List<long> damageList, ref HB427_tagSCUseSkill.tagSCUseSkillHurt hurt)
   {
      base.OnHitEachTarget(target, totalDamage, damageList, ref hurt);
   }
   //  中摇结束
   protected override void OnActiveSkillFrame()
   protected override void OnAllAttackMoveFinished()
   {
   }
      base.OnAllAttackMoveFinished();
   //   后摇结束
   protected override void OnEndSkillFrame()
   {
      OnSkillFinished();
   }
}