private IEnumerator playDelayedLoop(MusicClipName clipName, float delayedTime) { yield return(new WaitForSeconds(delayedTime)); Play(clipName); _musicSource.loop = true; }
/// <summary> /// Changes the music audio to the relevant clips and plays. /// </summary> /// <param name="clipName"> The musicclipname that has the audio to be played.</param> public void PlayMusic(MusicClipName clipName) { ChangeMusic(clipName); _musicAudioSource.Play(); if (_musicAuxAudioSource.clip) { _musicAuxAudioSource.Play(); } }
public AudioClip Get(MusicClipName musicClipName) { initializeDictionaryIfNeeded(); if (_clipsDictionary.TryGetValue(musicClipName, out var clip)) { return(clip); } Debug.LogError($"Clip with name {musicClipName} doesn't exist, check it on Music Configuration"); return(null); }
public void Play(MusicClipName clipName, bool loop = false, Action onFinished = null) { var clip = _configuration.Get(clipName); _musicSource.clip = clip; _musicSource.loop = loop; _musicSource.Play(); if (onFinished != null) { StartCoroutine(invokeDelayed(onFinished, clip.length)); } }
private void ChangeMusic(MusicClipName clipName) { AudioClip[] musicPair = _audioClipManager.GetMusicClipPair(clipName); _musicAudioSource.clip = musicPair[0]; if (musicPair.Length > 1) { _musicAuxAudioSource.clip = musicPair[1]; } else { _musicAuxAudioSource.clip = null; } }
public void PlayLoopClip(MusicClipName clipName, bool stopCurrentClip) { if (stopCurrentClip) { Play(clipName); _musicSource.loop = true; return; } stopCurrentLoopCoroutine(); loopCoroutine = playDelayedLoop(clipName, _musicSource.clip.length - _musicSource.time); StartCoroutine(loopCoroutine); }
public void PlayMusic(MusicClipName name) { sources[(int)SoundType.Music].clip = musicClips[(int)name]; sources[(int)SoundType.Music].Play(); }
//===================================================================== #region Audio Clip Retrieval //===================================================================== /// <summary> /// Retrieves the audio clips associated with a music clip name enum. /// </summary> /// <param name="clipName"> The music clip enumeration name</param> /// <returns>An array of audio clips associated. Index 0 = Main, Index 1 = Aux.</returns> public AudioClip[] GetMusicClipPair(MusicClipName clipName) { return(_musicClips[clipName]); }