Exemplo n.º 1
0
    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
    }
Exemplo n.º 3
0
    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);
    }