/// <summary> /// Stop playing FX at channel. /// </summary> /// <param name="channel">Channel.</param> public void StopFx(SoundFxChannel channel) { var fx = _fxes[(int)channel]; if (fx.isPlaying) { fx.Stop(); } fx.clip = null; }
/// <summary> /// Play FX. /// </summary> /// <param name="clip">AudioClip object.</param> /// <param name="channel">Channel for playing.</param> /// <param name="forceInterrupt">Force interrupt previous FX at chanel.</param> public void PlayFx(AudioClip clip, SoundFxChannel channel = SoundFxChannel.First, bool forceInterrupt = false) { var fx = _fxes[(int)channel]; if (!forceInterrupt && fx.isPlaying) { return; } StopFx(channel); fx.clip = clip; if (SoundVolume > 0f && clip != null) { fx.Play(); } }