Exemplo n.º 1
0
        public void PlayMusic(MyMusicTrack?track = null)
        {
            if (!m_canPlay)
            {
                return;
            }
            Mute = false;
            bool playRandom = false;

            if (track.HasValue)
            {
                if (HasAnyTransition())
                {
                    m_nextTransitions.Clear();
                }
                if (!m_cueBank.IsValidTransitionCategory(track.Value.TransitionCategory, track.Value.MusicCategory))
                {
                    playRandom = true;
                }
                else
                {
                    ApplyTransition(track.Value.TransitionCategory, 1, track.Value.MusicCategory, false);
                }
            }
            else if ((m_musicState == MyMusicState.Stopped) && /*(GetMusicCue() == null) &&*/ !HasAnyTransition())
            {
                playRandom = true;
            }
            if (playRandom)
            {
                var transition = GetRandomTransitionEnum();
                if (transition.HasValue)
                {
                    ApplyTransition(transition.Value, 0, null, false);
                }
            }
        }
Exemplo n.º 2
0
 public bool IsValidTransitionCategory(MyStringId transitionCategory, MyStringId musicCategory)
 {
     return(m_canPlay ? m_cueBank.IsValidTransitionCategory(transitionCategory, musicCategory) : false);
 }