private void PlayMusicByTransition(MyMusicTransition transition) { m_musicCue = PlaySound(m_cueBank.GetTransitionCue(transition.TransitionEnum, transition.Category)); if (m_musicCue != null) { m_musicCue.SetOutputVoices(m_musicAudioVoiceDesc); m_musicAudioVoice.SetVolume(m_volumeMusic); } }
public bool ApplyTransition(MyStringId transitionEnum, int priority = 0, MyStringId? category = null, bool loop = true) { if (!m_canPlay) return false; if (!m_musicAllowed) return false; Debug.Assert(priority >= 0); if (category.HasValue) { if (category.Value == MyStringId.NullOrEmpty) category = null; else if (!m_cueBank.IsValidTransitionCategory(transitionEnum, category.Value)) { Debug.Fail("This category doesn't exist for this transition!"); MyLog.Default.WriteLine(string.Format("Category {0} doesn't exist for this transition!", category)); return false; } } // if we try apply same transition and priority and category if ((m_currentTransition != null) && (m_currentTransition.Value.Priority == priority) && (m_currentTransition.Value.TransitionEnum == transitionEnum) && ((category == null) || (m_currentTransition.Value.Category == category))) { if ((m_musicState == MyMusicState.Transition) && !m_transitionForward) { m_musicState = MyMusicState.Playing; return true; } else return false; } // if category not set, we take random category from transition cues MyStringId transitionCategory = category ?? m_cueBank.GetRandomTransitionCategory(ref transitionEnum, ref NO_RANDOM); // we set this transition as next m_nextTransitions[priority] = new MyMusicTransition(priority, transitionEnum, transitionCategory); MyTrace.Send(TraceWindow.Server, string.Format("Applying transition {0} {1} (priority = {2})", transitionEnum, transitionCategory, priority)); // if new transition has lower priority then current, we don't want apply new transition now if ((m_currentTransition != null) && (m_currentTransition.Value.Priority > priority)) return false; m_loopMusic = loop; if (m_musicState == MyMusicState.Playing) StartTransition(true); else if (m_musicState == MyMusicState.Transition) { } else if (m_musicState == MyMusicState.Stopped) { } else throw new InvalidBranchException(); return true; }
private void PlayMusicByTransition(MyMusicTransition transition) { if (m_cueBank != null && m_musicAllowed) { m_musicCue = PlaySound(m_cueBank.GetTransitionCue(transition.TransitionEnum, transition.Category)); if (m_musicCue != null) { m_musicCue.SetOutputVoices(m_musicAudioVoiceDesc); m_musicAudioVoice.SetVolume(m_volumeMusic); } } }
public bool ApplyTransition(MyStringId transitionEnum, int priority = 0, MyStringId?category = null, bool loop = true) { if (!m_canPlay) { return(false); } if (!m_musicAllowed) { return(false); } Debug.Assert(priority >= 0); if (category.HasValue) { if (category.Value == MyStringId.NullOrEmpty) { category = null; } else if (!m_cueBank.IsValidTransitionCategory(transitionEnum, category.Value)) { Debug.Fail("This category doesn't exist for this transition!"); MyLog.Default.WriteLine(string.Format("Category {0} doesn't exist for this transition!", category)); return(false); } } // if we try apply same transition and priority and category if ((m_currentTransition != null) && (m_currentTransition.Value.Priority == priority) && (m_currentTransition.Value.TransitionEnum == transitionEnum) && ((category == null) || (m_currentTransition.Value.Category == category))) { if ((m_musicState == MyMusicState.Transition) && !m_transitionForward) { m_musicState = MyMusicState.Playing; return(true); } else { return(false); } } // if category not set, we take random category from transition cues MyStringId transitionCategory = category ?? m_cueBank.GetRandomTransitionCategory(transitionEnum); // we set this transition as next m_nextTransitions[priority] = new MyMusicTransition(priority, transitionEnum, transitionCategory); MyTrace.Send(TraceWindow.Server, string.Format("Applying transition {0} {1} (priority = {2})", transitionEnum, transitionCategory, priority)); // if new transition has lower priority then current, we don't want apply new transition now if ((m_currentTransition != null) && (m_currentTransition.Value.Priority > priority)) { return(false); } m_loopMusic = loop; if (m_musicState == MyMusicState.Playing) { StartTransition(true); } else if (m_musicState == MyMusicState.Transition) { } else if (m_musicState == MyMusicState.Stopped) { } else { throw new InvalidBranchException(); } return(true); }
private static void PlayMusicByTransition(MyMusicTransition transition) { // temporary disabled if (m_volumeMusic > 0f && m_musicOn) { m_musicCategory.SetVolume(m_volumeMusic); } m_musicCue = AddCue2D(m_musicTransitionCues[(int)transition.TransitionEnum][transition.Category]); }
public static bool ApplyTransition(MyMusicTransitionEnum transitionEnum, int priority = 0, string category = null, bool loop = true) { if (!m_canPlay) return false; if (!m_musicAllowed) return false; Debug.Assert(priority >= 0); if (category != null) { if (!m_musicTransitionCues[(int)transitionEnum].ContainsKey(category)) { Debug.Assert(false, "This category doesn't exist for this transition!"); return false; } } // if we try apply same transition and priority and category if (m_currentTransition != null && m_currentTransition.Value.Priority == priority && m_currentTransition.Value.TransitionEnum == transitionEnum && (category == null || m_currentTransition.Value.Category == category)) { if (m_musicState == MyMusicState.Transition && !m_transitionForward) { m_musicState = MyMusicState.Playing; return true; } else { return false; } } // if category not set, we take random category from this transition cues string transitionCategory = category != null ? category : GetRandomTransitionCategory(transitionEnum); // we set this transition as next m_nextTransitions[priority] = new MyMusicTransition(priority, transitionEnum, transitionCategory); // if new transition has lower priority then current, we don't want apply new transition now if (m_currentTransition != null && m_currentTransition.Value.Priority > priority) { return false; } m_loopMusic = loop; if (m_musicState == MyMusicState.Playing) { StartTransition(true); } else if (m_musicState == MyMusicState.Transition) { } else if (m_musicState == MyMusicState.Stopped) { } else { throw new MyMwcExceptionApplicationShouldNotGetHere(); } return true; }
private static void PlayMusicByTransition(MyMusicTransition transition) { m_musicCue = PlayCue2D(m_cueBank.GetTransitionCue(transition.TransitionEnum, transition.Category)); if (m_musicCue != null) { m_musicCue.Voice.SetOutputVoices(m_musicAudioVoiceDesc); m_musicAudioVoice.SetVolume(m_volumeMusic); } }