private bool RemoveFromQueue(AudioMixerSnapshot i_Snapshot) { AudioMixerSnapshotData snapshotData = GetDataFromQueue(i_Snapshot); if (snapshotData == null) { return(false); } m_Queue.Remove(snapshotData); return(true); }
// INTERNALS private bool AddToQueue(AudioMixerSnapshot i_Snapshot, float i_FadeTime, double i_Priority) { if (i_Snapshot == null) { return(false); } AudioMixerSnapshotData newSnapshot = new AudioMixerSnapshotData(i_Snapshot, i_FadeTime); m_Queue.Enqueue(newSnapshot, i_Priority); return(true); }
private AudioMixerSnapshotData GetDataFromQueue(AudioMixerSnapshot i_Snapshot) { AudioMixerSnapshotData targetSnapshot = null; foreach (AudioMixerSnapshotData s in m_Queue) { if (s != null) { if (s.snapshot == i_Snapshot) { targetSnapshot = s; break; } } } return(targetSnapshot); }
private void UpdateMixer() { if (m_Queue.Count == 0) { return; } AudioMixerSnapshotData nextSnapshot = m_Queue.First; if (nextSnapshot != null) { AudioMixerSnapshot s = nextSnapshot.snapshot; if (s != null) { s.TransitionTo(nextSnapshot.fadeTime); } } }