public void TrimInstances(AudioItemBase item, int maxInstances) { var items = GetItems(item.Identifier); if (maxInstances > 0) { while (items.Count >= maxInstances) { items.Pop().StopImmediate(); } } }
protected virtual IAudioItem AddSource(AudioSettingsBase settings, List <AudioOption> options) { AudioItemBase item = null; if (settings != null) { item = itemManager.CreateItem(settings, spatializer, this); if (options != null) { for (int i = 0; i < options.Count; i++) { item.ApplyOption(options[i], false); } } sources.Add(item); volumeModifier.SimulateChange(); pitchModifier.SimulateChange(); } return(item); }
public void Deactivate(AudioItemBase item) { GetItems(item.Identifier).Remove(item); toUpdate.Remove(item); }
public void Activate(AudioItemBase item) { GetItems(item.Identifier).Add(item); toUpdate.Add(item); }