static void StopPreview() { if (audioManager == null) { return; } if (previewItem != null) { previewItem.StopImmediate(); previewItem = null; } if (previewSettings != null) { EditorUtility.SetDirty(previewSettings); EditorApplication.RepaintProjectWindow(); previewSettings = null; } if (!Application.isPlaying) { PrefabPoolManager.ClearPool(audioManager.Reference); } stopPreview = false; }
public AudioItem CreateItem(AudioSettingsBase settings, Transform follow) { AudioSpatializer spatializer = Pool<AudioSpatializer>.Create(AudioSpatializer.Default); spatializer.Initialize(follow); return CreateItem(settings, spatializer, null); }
public AudioItem CreateItem(AudioSettingsBase settings, Vector3 position) { AudioSpatializer spatializer = Pool<AudioSpatializer>.Create(AudioSpatializer.Default); spatializer.Initialize(position); return CreateItem(settings, spatializer, null); }
public virtual void OnSourceDropped(AudioSettingsBase settings) { AddToArray(sourcesProperty); var sourceProperty = sourcesProperty.Last(); sourceProperty.SetValue("Settings", settings); sourceProperty.FindPropertyRelative("Options").Clear(); }
public IAudioItem CreateItem(AudioSettingsBase settings, Func <Vector3> getPosition) { var spatializer = TypePoolManager.Create <AudioSpatializer>(); spatializer.Initialize(getPosition); return(CreateItem(settings, spatializer, null)); }
public IAudioItem CreateItem(AudioSettingsBase settings, Transform follow) { var spatializer = TypePoolManager.Create <AudioSpatializer>(); spatializer.Initialize(follow); return(CreateItem(settings, spatializer, null)); }
static void PlayPreview(AudioSettingsBase settings) { StopPreview(); EditorUtility.SetDirty(settings); previewSettings = settings; previewItem = audioManager.CreateItem(previewSettings); previewItem.OnStop += item => { stopPreview = true; previewItem = null; }; previewItem.Play(); }
protected void InitializeModifiers(AudioSettingsBase settings) { volumeModifier.OnValueChanged += setVolumeScale; volumeModifier.InitialValue = settings.VolumeScale; volumeModifier.RandomModifier = 1f + UnityEngine.Random.Range(-settings.RandomVolume, settings.RandomVolume); pitchModifier.OnValueChanged += setPitchScale; pitchModifier.InitialValue = settings.PitchScale; pitchModifier.RandomModifier = 1f + UnityEngine.Random.Range(-settings.RandomPitch, settings.RandomPitch); }
public static void ShowPreviewButton(Rect rect, AudioSettingsBase settings) { if (audioManager == null) { return; } // Check if scrollbar is visible if (Screen.width - rect.x - rect.width > 5f) { rect.x = Screen.width - 40f; } else { rect.x = Screen.width - 24f; } rect.width = 21f; rect.height = 16f; var buttonStyle = new GUIStyle("MiniToolbarButtonLeft"); buttonStyle.fixedHeight += 1; if (GUI.Button(rect, "", buttonStyle)) { Selection.activeObject = settings; if (previewSettings != settings || (previewItem != null && previewItem.State == AudioStates.Stopping)) { PlayPreview(settings); } else if (previewItem != null) { previewItem.Stop(); } else { StopPreview(); } } bool playing = previewItem == null || previewItem.State == AudioStates.Stopping || previewSettings != settings; var labelStyle = new GUIStyle("boldLabel"); labelStyle.fixedHeight += 1; labelStyle.fontSize = playing ? 14 : 20; labelStyle.contentOffset = playing ? new Vector2(2f, -2f) : new Vector2(2f, -7f); labelStyle.clipping = TextClipping.Overflow; GUI.Label(rect, playing ? "►" : "■", labelStyle); }
public static void ShowPreviewButton(Rect rect, AudioSettingsBase settings) { if (AudioManager.Find() == null) return; // Check if scrollbar is visible if (Screen.width - rect.x - rect.width > 5f) rect.x = Screen.width - 40f; else rect.x = Screen.width - 24f; rect.width = 21f; rect.height = 16f; GUIStyle buttonStyle = new GUIStyle("MiniToolbarButtonLeft"); buttonStyle.fixedHeight += 1; if (GUI.Button(rect, "", buttonStyle)) { Selection.activeObject = settings; if (_previewSettings != settings || (_previewItem != null && _previewItem.State == AudioItem.AudioStates.Stopping)) { StopPreview(); EditorUtility.SetDirty(settings); _previewSettings = settings; _previewItem = AudioManager.Instance.CreateItem(_previewSettings); _previewItem.OnStop += item => { StopPreview(); EditorUtility.SetDirty(settings); EditorApplication.RepaintProjectWindow(); }; _previewItem.Play(); } else if (_previewItem != null) _previewItem.Stop(); else StopPreview(); } bool playing = _previewItem == null || _previewItem.State == AudioItem.AudioStates.Stopping || _previewSettings != settings; GUIStyle labelStyle = new GUIStyle("boldLabel"); labelStyle.fixedHeight += 1; labelStyle.fontSize = playing ? 14 : 20; labelStyle.contentOffset = playing ? new Vector2(2f, -1f) : new Vector2(2f, -8f); labelStyle.clipping = TextClipping.Overflow; GUI.Label(rect, playing ? "►" : "■", labelStyle); }
public AudioItemBase CreateItem(AudioSettingsBase settings, AudioSpatializer spatializer, IAudioItem parent) { if (settings == null) { return(null); } switch (settings.Type) { default: var sourceItem = TypePoolManager.Create <AudioSourceItem>(); var source = PrefabPoolManager.Create(audioManager.Reference); source.Copy(audioManager.Reference, audioManager.UseCustomCurves); sourceItem.Initialize((AudioSourceSettings)settings, this, source, spatializer, parent); return(sourceItem); case AudioTypes.MixContainer: var mixContainerItem = TypePoolManager.Create <AudioMixContainerItem>(); mixContainerItem.Initialize((AudioMixContainerSettings)settings, this, spatializer, parent); return(mixContainerItem); case AudioTypes.RandomContainer: var randomContainerItem = TypePoolManager.Create <AudioRandomContainerItem>(); randomContainerItem.Initialize((AudioRandomContainerSettings)settings, this, spatializer, parent); return(randomContainerItem); case AudioTypes.EnumeratorContainer: var enumeratorContainerItem = TypePoolManager.Create <AudioEnumeratorContainerItem>(); enumeratorContainerItem.Initialize((AudioEnumeratorContainerSettings)settings, this, spatializer, parent); return(enumeratorContainerItem); case AudioTypes.SwitchContainer: var switchContainerItem = TypePoolManager.Create <AudioSwitchContainerItem>(); switchContainerItem.Initialize((AudioSwitchContainerSettings)settings, this, spatializer, parent); return(switchContainerItem); case AudioTypes.SequenceContainer: var sequenceContainerItem = TypePoolManager.Create <AudioSequenceContainerItem>(); sequenceContainerItem.Initialize((AudioSequenceContainerSettings)settings, this, spatializer, parent); return(sequenceContainerItem); } }
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 override void OnEnable() { base.OnEnable(); _settings = (AudioSettingsBase)target; }
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 abstract float GetSettingsLength(AudioSettingsBase settings);
public IAudioItem CreateItem(AudioSettingsBase settings) { var spatializer = TypePoolManager.Create<AudioSpatializer>(); return CreateItem(settings, spatializer, null); }
public IAudioItem CreateItem(AudioSettingsBase settings, Vector3 position) { var spatializer = TypePoolManager.Create<AudioSpatializer>(); spatializer.Initialize(position); return CreateItem(settings, spatializer, null); }
public virtual void OnSettingsDropped(AudioSettingsBase settings) { sourceSettingsProperty.SetValue(settings); }
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; }
public override float GetSettingsLength(AudioSettingsBase settings) { return(((AudioSourceSettings)settings).GetLength()); }
protected virtual void InitializeModifiers(AudioSettingsBase settings) { volumeModifier.OnValueChanged += setVolumeScale; volumeModifier.InitialValue = settings.VolumeScale; volumeModifier.RandomModifier = 1f + UnityEngine.Random.Range(-settings.RandomVolume, settings.RandomVolume); pitchModifier.OnValueChanged += setPitchScale; pitchModifier.InitialValue = settings.PitchScale; pitchModifier.RandomModifier = 1f + UnityEngine.Random.Range(-settings.RandomPitch, settings.RandomPitch); }
static void StopPreview() { if (AudioManager.Find() == null) return; if (_previewItem != null) { _previewItem.StopImmediate(); _previewItem = null; _previewSettings = null; } }
public IAudioItem CreateItem(AudioSettingsBase settings) { var spatializer = TypePoolManager.Create <AudioSpatializer>(); return(CreateItem(settings, spatializer, null)); }
public override float GetSettingsLength(AudioSettingsBase settings) { return float.MaxValue; }
public override void OnEnable() { base.OnEnable(); settings = (AudioSettingsBase)target; }
public IAudioItem CreateItem(AudioSettingsBase settings, Transform follow) { var spatializer = TypePoolManager.Create<AudioSpatializer>(); spatializer.Initialize(follow); return CreateItem(settings, spatializer, null); }
public override float GetSettingsLength(AudioSettingsBase settings) { return ((AudioSourceSettings)settings).GetLength(); }
public AudioItemBase CreateItem(AudioSettingsBase settings, AudioSpatializer spatializer, IAudioItem parent) { if (settings == null) return null; switch (settings.Type) { default: var sourceItem = TypePoolManager.Create<AudioSourceItem>(); var source = PrefabPoolManager.Create(audioManager.Reference); source.Copy(audioManager.Reference, audioManager.UseCustomCurves); sourceItem.Initialize((AudioSourceSettings)settings, this, source, spatializer, parent); return sourceItem; case AudioTypes.MixContainer: var mixContainerItem = TypePoolManager.Create<AudioMixContainerItem>(); mixContainerItem.Initialize((AudioMixContainerSettings)settings, this, spatializer, parent); return mixContainerItem; case AudioTypes.RandomContainer: var randomContainerItem = TypePoolManager.Create<AudioRandomContainerItem>(); randomContainerItem.Initialize((AudioRandomContainerSettings)settings, this, spatializer, parent); return randomContainerItem; case AudioTypes.EnumeratorContainer: var enumeratorContainerItem = TypePoolManager.Create<AudioEnumeratorContainerItem>(); enumeratorContainerItem.Initialize((AudioEnumeratorContainerSettings)settings, this, spatializer, parent); return enumeratorContainerItem; case AudioTypes.SwitchContainer: var switchContainerItem = TypePoolManager.Create<AudioSwitchContainerItem>(); switchContainerItem.Initialize((AudioSwitchContainerSettings)settings, this, spatializer, parent); return switchContainerItem; case AudioTypes.SequenceContainer: var sequenceContainerItem = TypePoolManager.Create<AudioSequenceContainerItem>(); sequenceContainerItem.Initialize((AudioSequenceContainerSettings)settings, this, spatializer, parent); return sequenceContainerItem; } }
public override float GetSettingsLength(AudioSettingsBase settings) { return(float.MaxValue); }
public AudioItem CreateItem(AudioSettingsBase settings) { AudioSpatializer spatializer = Pool<AudioSpatializer>.Create(AudioSpatializer.Default); return CreateItem(settings, spatializer, null); }