/// <summary> /// Fade in and play the audio (from an audio config). /// </summary> /// <param name="audioConfig">The target audio config</param> /// <param name="duration">Duration of the fade in phase</param> /// <param name="parent">The source of the audio</param> /// <param name="onComplete">Callback after the fade in completed</param> /// <returns></returns> public static AudioSource FadeInAndPlay(this AudioConfig audioConfig, float duration = 1.0f, Transform parent = null, Action onComplete = null) { var channel = audioConfig.Play(0f, parent); AudioSystem.Instance.FadeTo(channel, audioConfig.VolumeScale, duration, onComplete); return(channel); }
/// <summary> /// Play an audio clip by using an Audio Config /// </summary> /// <param name="audioConfig">The target audio config</param> /// <param name="parent">The source of the audio</param> /// <param name="onComplete">The callback when the playback finished</param> /// <returns>The channel (AudioSource) which the Audio System are using</returns> public static AudioSource Play(this AudioConfig audioConfig, Transform parent, int clipIndex = -1, Action onComplete = null) { return(audioConfig.Play(audioConfig.VolumeScale, parent, clipIndex, onComplete)); }
/// <summary> /// Play an audio clip by using an Audio Config /// </summary> /// <param name="audioConfig">The target audio config</param> /// <param name="onComplete">The callback when the playback finished</param> /// <returns>The channel (AudioSource) which the Audio System are using</returns> public static AudioSource Play(this AudioConfig audioConfig, Action onComplete = null) { return(audioConfig.Play(audioConfig.VolumeScale, null, onComplete: onComplete)); }