示例#1
0
        public void TrimInstances(AudioItemBase item, int maxInstances)
        {
            var items = GetItems(item.Identifier);

            if (maxInstances > 0)
            {
                while (items.Count >= maxInstances)
                {
                    items.Pop().StopImmediate();
                }
            }
        }
示例#2
0
        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);
        }
示例#3
0
 public void Deactivate(AudioItemBase item)
 {
     GetItems(item.Identifier).Remove(item);
     toUpdate.Remove(item);
 }
示例#4
0
 public void Activate(AudioItemBase item)
 {
     GetItems(item.Identifier).Add(item);
     toUpdate.Add(item);
 }