Exemplo n.º 1
0
 /// <summary>
 /// Resumes a paused song, if there is one.
 /// </summary>
 public static void ResumeMusic(AudioTransitionStates transition = AudioTransitionStates.CrossFade)
 {
     _Instance.AudioTransitionState = transition;
     if (_Instance.MusicCue1 != null && _Instance.MusicCue1.IsPaused)
     {
         if (transition == AudioTransitionStates.CrossFade)
         {
             _Instance.MusicCue1.Play();
         }
         if (_Instance.MusicCue2 != null)
         {
             _Instance.MusicCue2.Stop();
         }
     }
     if (_Instance.MusicCue2 != null && _Instance.MusicCue2.IsPaused)
     {
         if (transition == AudioTransitionStates.CrossFade)
         {
             _Instance.MusicCue2.Play();
         }
         if (_Instance.MusicCue1 != null)
         {
             _Instance.MusicCue1.Stop();
         }
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Pauses the current song and plays a new one.
 /// </summary>
 public static void PausePlay(string musicName, float fadeDuration = 0, AudioTransitionStates transition = AudioTransitionStates.CrossFade)
 {
     if (_Instance.MusicCue1 != null && _Instance.MusicCue1.IsPlaying)
     {
         _Instance.MusicCue1.Pause();
     }
     if (_Instance.MusicCue2 != null && _Instance.MusicCue2.IsPlaying)
     {
         _Instance.MusicCue2.Pause();
     }
     PlayMusic(musicName, fadeDuration, transition);
 }
Exemplo n.º 3
0
        /// <summary>
        /// Plays a new song with an optional fade duration and transition. Stops the current song if there is one playing.
        /// </summary>
        public static void PlayMusic(string musicName, float fadeDuration = 0, AudioTransitionStates transition = AudioTransitionStates.CrossFade)
        {
            if (!_Instance.MusicEnabled)
            {
                return;
            }
            if ((_Instance.MusicCue1 != null) && (_Instance.MusicCue1.Name == musicName) ||
                (_Instance.MusicCue2 != null) && (_Instance.MusicCue2.Name == musicName))
            {
                return;
            }

            _Instance.AudioTransitionState = transition;
            if (_Instance.MusicCue1 == null)
            {
                _Instance.MusicCue1 = new CorvMusicCue(_Instance.SoundBank.GetCue(musicName), fadeDuration);
                if (transition == AudioTransitionStates.CrossFade)
                {
                    _Instance.MusicCue1.Play();
                }
                if (_Instance.MusicCue2 != null && (!_Instance.MusicCue2.IsPaused && !_Instance.MusicCue2.IsPausing))
                {
                    _Instance.MusicCue2.Stop();
                }
            }
            else
            {
                _Instance.MusicCue2 = new CorvMusicCue(_Instance.SoundBank.GetCue(musicName), fadeDuration);
                if (transition == AudioTransitionStates.CrossFade)
                {
                    _Instance.MusicCue2.Play();
                }
                if (_Instance.MusicCue1 != null && (!_Instance.MusicCue1.IsPaused && !_Instance.MusicCue1.IsPausing))
                {
                    _Instance.MusicCue1.Stop();
                }
            }

            //deals with the initial case where nothing is playing.
            if (_Instance.MusicCue1 != null && !_Instance.MusicCue1.IsPlaying && _Instance.MusicCue2 == null)
            {
                _Instance.MusicCue1.Play();
            }
        }
Exemplo n.º 4
0
 /// <summary>
 /// Resumes a paused song, if there is one.
 /// </summary>
 public static void ResumeMusic(AudioTransitionStates transition = AudioTransitionStates.CrossFade)
 {
     _Instance.AudioTransitionState = transition;
     if (_Instance.MusicCue1 != null && _Instance.MusicCue1.IsPaused)
     {
         if (transition == AudioTransitionStates.CrossFade)
             _Instance.MusicCue1.Play();
         if (_Instance.MusicCue2 != null)
             _Instance.MusicCue2.Stop();
     }
     if (_Instance.MusicCue2 != null && _Instance.MusicCue2.IsPaused)
     {
         if (transition == AudioTransitionStates.CrossFade)
             _Instance.MusicCue2.Play();
         if (_Instance.MusicCue1 != null)
             _Instance.MusicCue1.Stop();
     }
 }
Exemplo n.º 5
0
        /// <summary>
        /// Plays a new song with an optional fade duration and transition. Stops the current song if there is one playing.
        /// </summary>
        public static void PlayMusic(string musicName, float fadeDuration = 0, AudioTransitionStates transition = AudioTransitionStates.CrossFade)
        {
            if (!_Instance.MusicEnabled)
                return;
            if ((_Instance.MusicCue1 != null) && (_Instance.MusicCue1.Name == musicName) ||
                (_Instance.MusicCue2 != null) && (_Instance.MusicCue2.Name == musicName))
                return;

            _Instance.AudioTransitionState = transition;
            if (_Instance.MusicCue1 == null)
            {
                _Instance.MusicCue1 = new CorvMusicCue(_Instance.SoundBank.GetCue(musicName), fadeDuration);
                if (transition == AudioTransitionStates.CrossFade)
                    _Instance.MusicCue1.Play();
                if (_Instance.MusicCue2 != null && (!_Instance.MusicCue2.IsPaused && !_Instance.MusicCue2.IsPausing))
                    _Instance.MusicCue2.Stop();
            }
            else
            {
                _Instance.MusicCue2 = new CorvMusicCue(_Instance.SoundBank.GetCue(musicName), fadeDuration);
                if (transition == AudioTransitionStates.CrossFade)
                    _Instance.MusicCue2.Play();
                if (_Instance.MusicCue1 != null && (!_Instance.MusicCue1.IsPaused && !_Instance.MusicCue1.IsPausing))
                    _Instance.MusicCue1.Stop();
            }

            //deals with the initial case where nothing is playing.
            if (_Instance.MusicCue1 != null && !_Instance.MusicCue1.IsPlaying && _Instance.MusicCue2 == null)
                _Instance.MusicCue1.Play();
        }
Exemplo n.º 6
0
 /// <summary>
 /// Pauses the current song and plays a new one.
 /// </summary>
 public static void PausePlay(string musicName, float fadeDuration = 0, AudioTransitionStates transition = AudioTransitionStates.CrossFade)
 {
     if (_Instance.MusicCue1 != null && _Instance.MusicCue1.IsPlaying)
         _Instance.MusicCue1.Pause();
     if (_Instance.MusicCue2 != null && _Instance.MusicCue2.IsPlaying)
         _Instance.MusicCue2.Pause();
     PlayMusic(musicName, fadeDuration, transition);
 }