class AudioManager { private AudioEngine engine; private WaveBank waveBank; private SoundBank soundBank; private Cue cue = null; public AudioManager(AudioEngine engine, WaveBank waveBank, SoundBank soundBank) { this.engine = engine; this.waveBank = waveBank; this.soundBank = soundBank; } public void playSound(string name) { cue = soundBank.GetCue(name); cue.Play(); cue = null; } public void pauseSound(string name) { cue = soundBank.GetCue(name); if (!cue.IsPaused) cue.Pause(); cue = null; } public void stopAllSound() { //??? } public void stopOneSound(string name) { cue = soundBank.GetCue(name); if (!cue.IsStopped || !cue.IsStopping) cue.Stop(AudioStopOptions.AsAuthored); cue = null; } public void increaseSpeed(string name, float increment) { } public void increaseAllSpeed(float increment) { } public void decreaseSpeed(string name, float decrement) { } public void decreaseAllSpeed(float decrement) { } public void Update() { engine.Update(); } }