public void HitEffect(Buff_HitEffect buff, Vector3 pos, string skillId) { #if !SERVER PlayHitEffect(buff.hitObjId, pos + buff.posOffset.ToV3(), buff.duration).Coroutine(); #else bool isInApplyData = false; BaseSkillData baseSkillData = SkillHelper.GetBaseSkillData(skillId); foreach (var v in baseSkillData.applyDatas) { PipelineDataWithBuff pipelineDataWithBuff = v as PipelineDataWithBuff; if (pipelineDataWithBuff != null) { if (pipelineDataWithBuff.buffs.Find(b => b.buffData.buffSignal == buff.buffSignal) != null) { isInApplyData = true; break; } } } if (!isInApplyData) { return; } M2C_HitEffect m2C = new M2C_HitEffect(); m2C.Duration = buff.duration; m2C.HitObjId = buff.hitObjId; m2C.Pos = (pos + buff.posOffset.ToV3()).ToV3Info(); ETHotfix.MessageHelper.Broadcast(m2C); #endif }
public void PlayAudio(Buff_PlaySound buff_PlaySound, Unit v, float playSpeed, string skillId) { #if !SERVER PlayAudio(buff_PlaySound.audioClipName, v, playSpeed, buff_PlaySound.onlyPlayOnceTime ? 0 : buff_PlaySound.duration); #else bool isInApplyData = false; BaseSkillData baseSkillData = SkillHelper.GetBaseSkillData(skillId); foreach (var _v in baseSkillData.applyDatas) { PipelineDataWithBuff pipelineDataWithBuff = _v as PipelineDataWithBuff; if (pipelineDataWithBuff != null) { if (pipelineDataWithBuff.buffs.Find(b => b.buffData.buffSignal == buff_PlaySound.buffSignal) != null) { isInApplyData = true; break; } } } if (!isInApplyData) { return; } M2C_PlaySound m2C = new M2C_PlaySound(); m2C.Duration = buff_PlaySound.onlyPlayOnceTime ? 0 : buff_PlaySound.duration; m2C.AudioClipName = buff_PlaySound.audioClipName; m2C.Id = v.Id; m2C.PlaySpeed = playSpeed; ETHotfix.MessageHelper.Broadcast(m2C); #endif }
public List <IncrementUpdate> incrementUpdates;// public List <BaseBuffData> GetAllBuffs(params string[] types) { List <BaseBuffData> buffDatas = new List <BaseBuffData>(); foreach (var v in pipelineDatas) { PipelineDataWithBuff withBuff = v as PipelineDataWithBuff; if (withBuff != null) { foreach (var buff in withBuff.buffs) { foreach (var type in types) { if (buff.buffData.GetBuffIdType() == type) { buffDatas.Add(buff.buffData); } } } } } foreach (var v in applyDatas) { PipelineDataWithBuff withBuff = v as PipelineDataWithBuff; if (withBuff != null) { foreach (var buff in withBuff.buffs) { foreach (var type in types) { if (buff.buffData.GetBuffIdType() == type) { buffDatas.Add(buff.buffData); } } } } } return(buffDatas); }