diff --git a/Tutorials/learn-monogame-2d/src/15-Audio-Controller/MonoGameLibrary/Audio/AudioController.cs b/Tutorials/learn-monogame-2d/src/15-Audio-Controller/MonoGameLibrary/Audio/AudioController.cs index 1bffd636..02a5759b 100644 --- a/Tutorials/learn-monogame-2d/src/15-Audio-Controller/MonoGameLibrary/Audio/AudioController.cs +++ b/Tutorials/learn-monogame-2d/src/15-Audio-Controller/MonoGameLibrary/Audio/AudioController.cs @@ -100,18 +100,18 @@ public AudioController() /// public void Update() { - int index = 0; - - while (index < _activeSoundEffectInstances.Count) + for (int i = _activeSoundEffectInstances.Count - 1; i >= 0; i--) { - SoundEffectInstance instance = _activeSoundEffectInstances[index]; + SoundEffectInstance instance = _activeSoundEffectInstances[i]; - if (instance.State == SoundState.Stopped && !instance.IsDisposed) + if (instance.State == SoundState.Stopped) { - instance.Dispose(); + if (!instance.IsDisposed) + { + instance.Dispose(); + } + _activeSoundEffectInstances.RemoveAt(i); } - - _activeSoundEffectInstances.RemoveAt(index); } } diff --git a/Tutorials/learn-monogame-2d/src/16-Working-With-SpriteFonts/MonoGameLibrary/Audio/AudioController.cs b/Tutorials/learn-monogame-2d/src/16-Working-With-SpriteFonts/MonoGameLibrary/Audio/AudioController.cs index 1bffd636..02a5759b 100644 --- a/Tutorials/learn-monogame-2d/src/16-Working-With-SpriteFonts/MonoGameLibrary/Audio/AudioController.cs +++ b/Tutorials/learn-monogame-2d/src/16-Working-With-SpriteFonts/MonoGameLibrary/Audio/AudioController.cs @@ -100,18 +100,18 @@ public AudioController() /// public void Update() { - int index = 0; - - while (index < _activeSoundEffectInstances.Count) + for (int i = _activeSoundEffectInstances.Count - 1; i >= 0; i--) { - SoundEffectInstance instance = _activeSoundEffectInstances[index]; + SoundEffectInstance instance = _activeSoundEffectInstances[i]; - if (instance.State == SoundState.Stopped && !instance.IsDisposed) + if (instance.State == SoundState.Stopped) { - instance.Dispose(); + if (!instance.IsDisposed) + { + instance.Dispose(); + } + _activeSoundEffectInstances.RemoveAt(i); } - - _activeSoundEffectInstances.RemoveAt(index); } } diff --git a/Tutorials/learn-monogame-2d/src/17-Scenes/MonoGameLibrary/Audio/AudioController.cs b/Tutorials/learn-monogame-2d/src/17-Scenes/MonoGameLibrary/Audio/AudioController.cs index 1bffd636..02a5759b 100644 --- a/Tutorials/learn-monogame-2d/src/17-Scenes/MonoGameLibrary/Audio/AudioController.cs +++ b/Tutorials/learn-monogame-2d/src/17-Scenes/MonoGameLibrary/Audio/AudioController.cs @@ -100,18 +100,18 @@ public AudioController() /// public void Update() { - int index = 0; - - while (index < _activeSoundEffectInstances.Count) + for (int i = _activeSoundEffectInstances.Count - 1; i >= 0; i--) { - SoundEffectInstance instance = _activeSoundEffectInstances[index]; + SoundEffectInstance instance = _activeSoundEffectInstances[i]; - if (instance.State == SoundState.Stopped && !instance.IsDisposed) + if (instance.State == SoundState.Stopped) { - instance.Dispose(); + if (!instance.IsDisposed) + { + instance.Dispose(); + } + _activeSoundEffectInstances.RemoveAt(i); } - - _activeSoundEffectInstances.RemoveAt(index); } } diff --git a/Tutorials/learn-monogame-2d/src/18-Texture-Wrapping/MonoGameLibrary/Audio/AudioController.cs b/Tutorials/learn-monogame-2d/src/18-Texture-Wrapping/MonoGameLibrary/Audio/AudioController.cs index 1bffd636..02a5759b 100644 --- a/Tutorials/learn-monogame-2d/src/18-Texture-Wrapping/MonoGameLibrary/Audio/AudioController.cs +++ b/Tutorials/learn-monogame-2d/src/18-Texture-Wrapping/MonoGameLibrary/Audio/AudioController.cs @@ -100,18 +100,18 @@ public AudioController() /// public void Update() { - int index = 0; - - while (index < _activeSoundEffectInstances.Count) + for (int i = _activeSoundEffectInstances.Count - 1; i >= 0; i--) { - SoundEffectInstance instance = _activeSoundEffectInstances[index]; + SoundEffectInstance instance = _activeSoundEffectInstances[i]; - if (instance.State == SoundState.Stopped && !instance.IsDisposed) + if (instance.State == SoundState.Stopped) { - instance.Dispose(); + if (!instance.IsDisposed) + { + instance.Dispose(); + } + _activeSoundEffectInstances.RemoveAt(i); } - - _activeSoundEffectInstances.RemoveAt(index); } } diff --git a/Tutorials/learn-monogame-2d/src/19-User-Interface-Fundamentals/MonoGameLibrary/Audio/AudioController.cs b/Tutorials/learn-monogame-2d/src/19-User-Interface-Fundamentals/MonoGameLibrary/Audio/AudioController.cs index 1bffd636..02a5759b 100644 --- a/Tutorials/learn-monogame-2d/src/19-User-Interface-Fundamentals/MonoGameLibrary/Audio/AudioController.cs +++ b/Tutorials/learn-monogame-2d/src/19-User-Interface-Fundamentals/MonoGameLibrary/Audio/AudioController.cs @@ -100,18 +100,18 @@ public AudioController() /// public void Update() { - int index = 0; - - while (index < _activeSoundEffectInstances.Count) + for (int i = _activeSoundEffectInstances.Count - 1; i >= 0; i--) { - SoundEffectInstance instance = _activeSoundEffectInstances[index]; + SoundEffectInstance instance = _activeSoundEffectInstances[i]; - if (instance.State == SoundState.Stopped && !instance.IsDisposed) + if (instance.State == SoundState.Stopped) { - instance.Dispose(); + if (!instance.IsDisposed) + { + instance.Dispose(); + } + _activeSoundEffectInstances.RemoveAt(i); } - - _activeSoundEffectInstances.RemoveAt(index); } } diff --git a/Tutorials/learn-monogame-2d/src/20-Implementing-UI-With-Gum/MonoGameLibrary/Audio/AudioController.cs b/Tutorials/learn-monogame-2d/src/20-Implementing-UI-With-Gum/MonoGameLibrary/Audio/AudioController.cs index 1bffd636..02a5759b 100644 --- a/Tutorials/learn-monogame-2d/src/20-Implementing-UI-With-Gum/MonoGameLibrary/Audio/AudioController.cs +++ b/Tutorials/learn-monogame-2d/src/20-Implementing-UI-With-Gum/MonoGameLibrary/Audio/AudioController.cs @@ -100,18 +100,18 @@ public AudioController() /// public void Update() { - int index = 0; - - while (index < _activeSoundEffectInstances.Count) + for (int i = _activeSoundEffectInstances.Count - 1; i >= 0; i--) { - SoundEffectInstance instance = _activeSoundEffectInstances[index]; + SoundEffectInstance instance = _activeSoundEffectInstances[i]; - if (instance.State == SoundState.Stopped && !instance.IsDisposed) + if (instance.State == SoundState.Stopped) { - instance.Dispose(); + if (!instance.IsDisposed) + { + instance.Dispose(); + } + _activeSoundEffectInstances.RemoveAt(i); } - - _activeSoundEffectInstances.RemoveAt(index); } } diff --git a/Tutorials/learn-monogame-2d/src/21-Customizing-Gum-UI/MonoGameLibrary/Audio/AudioController.cs b/Tutorials/learn-monogame-2d/src/21-Customizing-Gum-UI/MonoGameLibrary/Audio/AudioController.cs index 1bffd636..02a5759b 100644 --- a/Tutorials/learn-monogame-2d/src/21-Customizing-Gum-UI/MonoGameLibrary/Audio/AudioController.cs +++ b/Tutorials/learn-monogame-2d/src/21-Customizing-Gum-UI/MonoGameLibrary/Audio/AudioController.cs @@ -100,18 +100,18 @@ public AudioController() /// public void Update() { - int index = 0; - - while (index < _activeSoundEffectInstances.Count) + for (int i = _activeSoundEffectInstances.Count - 1; i >= 0; i--) { - SoundEffectInstance instance = _activeSoundEffectInstances[index]; + SoundEffectInstance instance = _activeSoundEffectInstances[i]; - if (instance.State == SoundState.Stopped && !instance.IsDisposed) + if (instance.State == SoundState.Stopped) { - instance.Dispose(); + if (!instance.IsDisposed) + { + instance.Dispose(); + } + _activeSoundEffectInstances.RemoveAt(i); } - - _activeSoundEffectInstances.RemoveAt(index); } } diff --git a/Tutorials/learn-monogame-2d/src/22-Snake-Game-Mechanics/MonoGameLibrary/Audio/AudioController.cs b/Tutorials/learn-monogame-2d/src/22-Snake-Game-Mechanics/MonoGameLibrary/Audio/AudioController.cs index 1bffd636..13ba764c 100644 --- a/Tutorials/learn-monogame-2d/src/22-Snake-Game-Mechanics/MonoGameLibrary/Audio/AudioController.cs +++ b/Tutorials/learn-monogame-2d/src/22-Snake-Game-Mechanics/MonoGameLibrary/Audio/AudioController.cs @@ -97,21 +97,21 @@ public AudioController() /// /// Updates this audio controller - /// + /// public void Update() { - int index = 0; - - while (index < _activeSoundEffectInstances.Count) + for (int i = _activeSoundEffectInstances.Count - 1; i >= 0; i--) { - SoundEffectInstance instance = _activeSoundEffectInstances[index]; + SoundEffectInstance instance = _activeSoundEffectInstances[i]; - if (instance.State == SoundState.Stopped && !instance.IsDisposed) + if (instance.State == SoundState.Stopped) { - instance.Dispose(); + if (!instance.IsDisposed) + { + instance.Dispose(); + } + _activeSoundEffectInstances.RemoveAt(i); } - - _activeSoundEffectInstances.RemoveAt(index); } } diff --git a/Tutorials/learn-monogame-2d/src/23-Completing-The-Game/MonoGameLibrary/Audio/AudioController.cs b/Tutorials/learn-monogame-2d/src/23-Completing-The-Game/MonoGameLibrary/Audio/AudioController.cs index 1bffd636..02a5759b 100644 --- a/Tutorials/learn-monogame-2d/src/23-Completing-The-Game/MonoGameLibrary/Audio/AudioController.cs +++ b/Tutorials/learn-monogame-2d/src/23-Completing-The-Game/MonoGameLibrary/Audio/AudioController.cs @@ -100,18 +100,18 @@ public AudioController() /// public void Update() { - int index = 0; - - while (index < _activeSoundEffectInstances.Count) + for (int i = _activeSoundEffectInstances.Count - 1; i >= 0; i--) { - SoundEffectInstance instance = _activeSoundEffectInstances[index]; + SoundEffectInstance instance = _activeSoundEffectInstances[i]; - if (instance.State == SoundState.Stopped && !instance.IsDisposed) + if (instance.State == SoundState.Stopped) { - instance.Dispose(); + if (!instance.IsDisposed) + { + instance.Dispose(); + } + _activeSoundEffectInstances.RemoveAt(i); } - - _activeSoundEffectInstances.RemoveAt(index); } } diff --git a/Tutorials/learn-monogame-2d/src/24-Shaders/MonoGameLibrary/Audio/AudioController.cs b/Tutorials/learn-monogame-2d/src/24-Shaders/MonoGameLibrary/Audio/AudioController.cs index 1bffd636..02a5759b 100644 --- a/Tutorials/learn-monogame-2d/src/24-Shaders/MonoGameLibrary/Audio/AudioController.cs +++ b/Tutorials/learn-monogame-2d/src/24-Shaders/MonoGameLibrary/Audio/AudioController.cs @@ -100,18 +100,18 @@ public AudioController() /// public void Update() { - int index = 0; - - while (index < _activeSoundEffectInstances.Count) + for (int i = _activeSoundEffectInstances.Count - 1; i >= 0; i--) { - SoundEffectInstance instance = _activeSoundEffectInstances[index]; + SoundEffectInstance instance = _activeSoundEffectInstances[i]; - if (instance.State == SoundState.Stopped && !instance.IsDisposed) + if (instance.State == SoundState.Stopped) { - instance.Dispose(); + if (!instance.IsDisposed) + { + instance.Dispose(); + } + _activeSoundEffectInstances.RemoveAt(i); } - - _activeSoundEffectInstances.RemoveAt(index); } } diff --git a/Tutorials/learn-monogame-2d/src/25-Packaging-Game/MonoGameLibrary/Audio/AudioController.cs b/Tutorials/learn-monogame-2d/src/25-Packaging-Game/MonoGameLibrary/Audio/AudioController.cs index 1bffd636..02a5759b 100644 --- a/Tutorials/learn-monogame-2d/src/25-Packaging-Game/MonoGameLibrary/Audio/AudioController.cs +++ b/Tutorials/learn-monogame-2d/src/25-Packaging-Game/MonoGameLibrary/Audio/AudioController.cs @@ -100,18 +100,18 @@ public AudioController() /// public void Update() { - int index = 0; - - while (index < _activeSoundEffectInstances.Count) + for (int i = _activeSoundEffectInstances.Count - 1; i >= 0; i--) { - SoundEffectInstance instance = _activeSoundEffectInstances[index]; + SoundEffectInstance instance = _activeSoundEffectInstances[i]; - if (instance.State == SoundState.Stopped && !instance.IsDisposed) + if (instance.State == SoundState.Stopped) { - instance.Dispose(); + if (!instance.IsDisposed) + { + instance.Dispose(); + } + _activeSoundEffectInstances.RemoveAt(i); } - - _activeSoundEffectInstances.RemoveAt(index); } } diff --git a/Tutorials/learn-monogame-2d/src/26-Publish-To-Itch/MonoGameLibrary/Audio/AudioController.cs b/Tutorials/learn-monogame-2d/src/26-Publish-To-Itch/MonoGameLibrary/Audio/AudioController.cs index 1bffd636..02a5759b 100644 --- a/Tutorials/learn-monogame-2d/src/26-Publish-To-Itch/MonoGameLibrary/Audio/AudioController.cs +++ b/Tutorials/learn-monogame-2d/src/26-Publish-To-Itch/MonoGameLibrary/Audio/AudioController.cs @@ -100,18 +100,18 @@ public AudioController() /// public void Update() { - int index = 0; - - while (index < _activeSoundEffectInstances.Count) + for (int i = _activeSoundEffectInstances.Count - 1; i >= 0; i--) { - SoundEffectInstance instance = _activeSoundEffectInstances[index]; + SoundEffectInstance instance = _activeSoundEffectInstances[i]; - if (instance.State == SoundState.Stopped && !instance.IsDisposed) + if (instance.State == SoundState.Stopped) { - instance.Dispose(); + if (!instance.IsDisposed) + { + instance.Dispose(); + } + _activeSoundEffectInstances.RemoveAt(i); } - - _activeSoundEffectInstances.RemoveAt(index); } } diff --git a/Tutorials/learn-monogame-2d/src/27-Conclusion/MonoGameLibrary/Audio/AudioController.cs b/Tutorials/learn-monogame-2d/src/27-Conclusion/MonoGameLibrary/Audio/AudioController.cs index 1bffd636..02a5759b 100644 --- a/Tutorials/learn-monogame-2d/src/27-Conclusion/MonoGameLibrary/Audio/AudioController.cs +++ b/Tutorials/learn-monogame-2d/src/27-Conclusion/MonoGameLibrary/Audio/AudioController.cs @@ -100,18 +100,18 @@ public AudioController() /// public void Update() { - int index = 0; - - while (index < _activeSoundEffectInstances.Count) + for (int i = _activeSoundEffectInstances.Count - 1; i >= 0; i--) { - SoundEffectInstance instance = _activeSoundEffectInstances[index]; + SoundEffectInstance instance = _activeSoundEffectInstances[i]; - if (instance.State == SoundState.Stopped && !instance.IsDisposed) + if (instance.State == SoundState.Stopped) { - instance.Dispose(); + if (!instance.IsDisposed) + { + instance.Dispose(); + } + _activeSoundEffectInstances.RemoveAt(i); } - - _activeSoundEffectInstances.RemoveAt(index); } }