Пример #1
0
        /// <summary>
        /// lz-2017.12.29 为了优化新枪第一枪特效加载卡顿,因此在装备枪的时候就预加载粒子特效和音效
        /// </summary>
        /// <param name="equipment"></param>
        void PreLoadEquipmentEffect(PEEquipment equipment)
        {
            if (equipment is PEGun)
            {
                PEGun  gun    = equipment as PEGun;
                SkData skData = null;

                //音效
                SkData.s_SkillTbl.TryGetValue(gun.m_ShootSoundID, out skData);
                if (skData != null && skData._effMainOneTime != null && skData._effMainOneTime._seId > 0)
                {
                    int soundEffectID           = skData._effMainOneTime._seId;
                    SoundAsset.SESoundBuff buff = SoundAsset.SESoundBuff.GetSESoundData(soundEffectID);
                    if (buff != null && AudioManager.instance != null)
                    {
                        AudioManager.instance.GetAudioClip(buff.mName);
                    }
                }

                skData = null;
                //粒子特效
                SkData.s_SkillTbl.TryGetValue(gun.GetSkillID(0), out skData);
                if (skData != null && skData._effMainOneTime != null && skData._effMainOneTime._effId != null && skData._effMainOneTime._effId.Length > 0)
                {
                    int[] effectArray = skData._effMainOneTime._effId;
                    for (int i = 0; i < effectArray.Length; i++)
                    {
                        int id = effectArray[i];
                        if (id > 0)
                        {
                            Effect.EffectData data = Effect.EffectData.GetEffCastData(id);
                            if (data != null && !string.IsNullOrEmpty(data.m_path) && Effect.EffectBuilder.Instance != null)
                            {
                                Effect.EffectBuilder.Instance.GetEffect(data.m_path);
                            }
                        }
                    }
                }
            }
        }
Пример #2
0
 public EffectRequest(int argid, object argData)
 {
     m_ID         = argid;
     m_Data       = argData;
     m_EffectData = EffectData.GetEffCastData(m_ID);
 }