public static void Update() { if (ALDevice != null) { ALDevice.Update(); for (int i = 0; i < InstancePool.Count; i += 1) { if (InstancePool[i].State == SoundState.Stopped) { InstancePool[i].Dispose(); InstancePool.RemoveAt(i); i -= 1; } } foreach (DynamicSoundEffectInstance sfi in DynamicInstancePool) { sfi.Update(); } foreach (Microphone mic in ActiveMics) { mic.CheckBuffer(); } } }
public static void Update() { if (ALDevice != null) { ALDevice.Update(); for (int i = 0; i < InstancePool.Count; i += 1) { if (InstancePool[i].State == SoundState.Stopped) { InstancePool[i].Dispose(); InstancePool.RemoveAt(i); i -= 1; } } for (int i = 0; i < DynamicInstancePool.Count; i += 1) { if (!DynamicInstancePool[i].Update()) { DynamicInstancePool.RemoveAt(i); i -= 1; } } } }