/// <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(); } }