/// <summary>
 /// Plays a sound clip at a given source.
 /// </summary>
 /// <param name="source">Which player to use.</param>
 /// <param name="clip">Which clip to play.</param>
 protected virtual void PlaySound(DoubleAudioSource source, AudioClip clip)
 {
     if (!source.IsPlaying || source.Clip != clip)
     {
         source.CrossFadeToNewClip(clip);
     }
 }
 protected virtual void PlaySoundRandomStart(DoubleAudioSource source, AudioClip clip)
 {
     if (!source.IsPlaying || source.Clip != clip)
     {
         float clipLength = clip.length;
         float startTime  = Random.Range(0f, clipLength);
         source.CrossFadeToNewClip(clip, startTime: startTime);
     }
 }
Ejemplo n.º 3
0
 private void OnMovement()
 {
     if (movementClip == null || _movementSource.IsPlaying)
     {
         return;
     }
     _movementSource.MixerGroup = mixerGroup;
     _movementSource.CrossFadeToNewClip(movementClip, fadeDuration: 0.1f);
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Starts playing the playlist.
        /// </summary>
        /// <param name="delay">Seconds of delaying the start of the next track.</param>
        /// <param name="fadeDuration">Seconds the fade will took.</param>
        public void Play(int delay = 0, float fadeDuration = 3f)
        {
            AudioClip clip = GetRandomClip(_audioSource.Clip);

            if (_audioSource.IsPlaying)
            {
                _audioSource.CrossFadeToNewClip(clip);
            }
            else
            {
                _audioSource.FadeIn(clip, duration: fadeDuration, delay: delay);
            }
        }
Ejemplo n.º 5
0
 public void OnCollisionEnter(Collision other)
 {
     _collisionSource.MixerGroup = mixerGroup;
     _collisionSource.CrossFadeToNewClip(collisionClip, fadeDuration: 0.1f);
 }