|   | 
| using System.Collections.Generic; | 
| using UnityEngine; | 
| 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(); | 
|     } | 
|   | 
|     //    技能开始 | 
|     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) | 
|     { | 
|         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); | 
|     } | 
|   | 
|   | 
|     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() | 
|     { | 
|   | 
|     } | 
| } |