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 _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 hitList) { base.OnHitTargets(_hitIndex, hitList); } protected override void OnHitEachTarget(BattleObject target, long totalDamage, List damageList, ref HB427_tagSCUseSkill.tagSCUseSkillHurt hurt) { base.OnHitEachTarget(target, totalDamage, damageList, ref hurt); } // 中摇结束 protected override void OnActiveSkillFrame() { } // 后摇结束 protected override void OnEndSkillFrame() { } }