Ejemplo n.º 1
0
        public AudioDynamicItem CreateDynamicItem(Func<AudioDynamicItem, AudioDynamicData, AudioSettingsBase> getNextSettings, AudioSpatializer spatializer, AudioItem parent)
        {
            AudioDynamicItem item = Pool<AudioDynamicItem>.Create(AudioDynamicItem.Default);
            item.Initialize(getNextSettings, spatializer, parent);

            return item;
        }
Ejemplo n.º 2
0
        public AudioItem CreateItem(AudioSettingsBase settings, AudioSpatializer spatializer, AudioItem parent)
        {
            if (settings == null)
                return null;

            AudioItem item;

            switch (settings.Type)
            {
                default:
                    AudioSourceItem sourceItem = Pool<AudioSourceItem>.Create(AudioSourceItem.Default);
                    AudioSource source = ComponentPool<AudioSource>.Create(AudioManager.Instance.Reference);
                    source.Copy(AudioManager.Instance.Reference, AudioManager.Instance.UseCustomCurves);
                    sourceItem.Initialize((AudioSourceSettings)settings, source, spatializer, parent);
                    item = sourceItem;
                    break;
                case AudioItem.AudioTypes.MixContainer:
                    AudioMixContainerItem mixContainerItem = Pool<AudioMixContainerItem>.Create(AudioMixContainerItem.Default);
                    mixContainerItem.Initialize((AudioMixContainerSettings)settings, spatializer, parent);
                    item = mixContainerItem;
                    break;
                case AudioItem.AudioTypes.RandomContainer:
                    AudioRandomContainerItem randomContainerItem = Pool<AudioRandomContainerItem>.Create(AudioRandomContainerItem.Default);
                    randomContainerItem.Initialize((AudioRandomContainerSettings)settings, spatializer, parent);
                    item = randomContainerItem;
                    break;
                case AudioItem.AudioTypes.EnumeratorContainer:
                    AudioEnumeratorContainerItem enumeratorContainerItem = Pool<AudioEnumeratorContainerItem>.Create(AudioEnumeratorContainerItem.Default);
                    enumeratorContainerItem.Initialize((AudioEnumeratorContainerSettings)settings, spatializer, parent);
                    item = enumeratorContainerItem;
                    break;
                case AudioItem.AudioTypes.SwitchContainer:
                    AudioSwitchContainerItem switchContainerItem = Pool<AudioSwitchContainerItem>.Create(AudioSwitchContainerItem.Default);
                    switchContainerItem.Initialize((AudioSwitchContainerSettings)settings, spatializer, parent);
                    item = switchContainerItem;
                    break;
                case AudioItem.AudioTypes.SequenceContainer:
                    AudioSequenceContainerItem sequenceContainerItem = Pool<AudioSequenceContainerItem>.Create(AudioSequenceContainerItem.Default);
                    sequenceContainerItem.Initialize((AudioSequenceContainerSettings)settings, spatializer, parent);
                    item = sequenceContainerItem;
                    break;
            }

            return item;
        }
Ejemplo n.º 3
0
        public void Initialize(DynamicGetter getNextSettings, AudioItemManager itemManager, AudioSpatializer spatializer, IAudioItem parent)
        {
            settings = TypePoolManager.Create <AudioDynamicSettings>();

            base.Initialize(settings.Identifier, itemManager, spatializer, parent);

            this.getNextSettings = getNextSettings ?? delegate { return(null); };

            InitializeModifiers(settings);
            InitializeSources();
        }