public static void Update() { m_hudTimeFromLastCuePlayed += MyConstants.PHYSICS_STEP_SIZE_IN_MILLISECONDS; // if actual hud cue still playing if (m_activeCue.HasValue && m_activeCue.Value.Cue.IsPlaying) { return; } // we dequeue next hud cue a play it if (m_hudCuesQueue.Count > 0) { // we want have small delay between hud cues if (m_hudTimeFromLastCuePlayed >= m_hudCueDelay || m_activeCue == null) { MyHudCue nextHudCue = m_hudCuesQueue.Dequeue(); var cue = MyAudio.PlayCueNow2D(nextHudCue.CueEnum, nextHudCue.Volume); m_activeCue = new MyActiveCueInfo() { Cue = cue, CueEnum = nextHudCue.CueEnum }; m_hudTimeFromLastCuePlayed = 0; } } else { m_activeCue = null; } }