using Cal; using System; namespace ET { public class SkillOptionLogic_播放特效 : SkillOptionLogicBase { public override SkillOptionType skillOptionType => SkillOptionType.播放特效; public override SkillOptionBase skillOptionBase { get; set; } SkillOption_播放特效 skillOption; public override void HandleEvent(ISkillSender skillSender) { skillOption = skillOptionBase.As(); if (skillOption.effectId == 0) { Log.Error($"effectId == 0 when : {skillSender}"); return; } SelectTargetHelper.GetTarget(skillOption.selectTarget, skillSender, Action); } private async ETTask Action(Unit target, ISkillSender skillSender) { Unit owner = skillSender.caster; target.GetComponent() .BrocastInterval(new M2C_PlaySkillEffect { UnitId = owner.Id, TargetId = target.Id, EffectId = this.skillOption.effectId, EffectPos = (int) this.skillOption.effectAttachType, EffectTargetType = (int) this.skillOption.effectPosType }); } } }