Exemple #1
0
        /// <summary>
        /// 播放世界音效
        /// </summary>
        /// <param name="attachTarget">附加目标</param>
        /// <param name="clip">音乐剪辑</param>
        /// <param name="isLoop">是否循环</param>
        /// <param name="speed">播放速度</param>
        public void PlayWorldSound(GameObject attachTarget, AudioClip clip, bool isLoop = false, float speed = 1)
        {
            if (attachTarget == null || clip == null)
            {
                return;
            }

            if (WorldSources.ContainsKey(attachTarget))
            {
                AudioSource audio = WorldSources[attachTarget];
                audio.DOKill();
                if (audio.isPlaying)
                {
                    audio.Stop();
                }
                audio.clip   = clip;
                audio.loop   = isLoop;
                audio.pitch  = speed;
                audio.volume = WorldVolume;
                audio.Play();
            }
            else
            {
                AudioSource audio = AudioToolkit.AttachAudioSource(attachTarget, WorldPriority, WorldVolume, 1, 1, Mute);
                WorldSources.Add(attachTarget, audio);
                audio.clip  = clip;
                audio.loop  = isLoop;
                audio.pitch = speed;
                audio.Play();
            }
        }
 /// <summary>
 /// 播放世界音效
 /// </summary>
 /// <param name="attachTarget">附加目标</param>
 /// <param name="clip">音乐剪辑</param>
 public void PlayWorldSound(GameObject attachTarget, AudioClip clip)
 {
     if (WorldSources.ContainsKey(attachTarget))
     {
         AudioSource audio = WorldSources[attachTarget];
         if (audio.isPlaying)
         {
             audio.Stop();
         }
         audio.clip = clip;
         audio.Play();
     }
     else
     {
         AudioSource audio = AudioToolkit.AttachAudioSource(attachTarget, WorldPriority, WorldVolume, 1, 1, Mute);
         WorldSources.Add(attachTarget, audio);
         audio.clip = clip;
         audio.Play();
     }
 }