private SoundLibrary.SerializedSample GetSample(string sampleName) { SoundLibrary.SerializedSample serializedSample = SoundLibrary.GetSample(sampleName); if (serializedSample == null && storedState != null) { SoundLibrarySample sample = storedState.GetSample(sampleName); if (sample != null) { serializedSample = sample.GetSerialized(); } } return(serializedSample); }
public void SetSample(SoundLibrary.SerializedSample sample) { if (soundSample != null) { soundSample.Unsubscribe(OnSampleLoaded); } this.sample = sample?.name; soundSample = sample; if (soundSample != null) { soundSample.Subscribe(OnSampleLoaded); } }
public void RefreshSampleParameters(SoundLibrary.SerializedSample sample) { for (int i = 0; i < sounds.Count; i++) { SoundMaster soundMaster = sounds[i]; if (soundMaster.master.soundSample != null && soundMaster.master.soundSample.name == sample.name) { for (int j = 0; j < soundMaster.linked.Count; j++) { soundMaster.linked[j].RefreshSampleParameters(); } } } }
public void CrossfadeClip(AudioClip clip, float volume, float pitch, bool loop, float after, float duration, float outDuration, float inDuration) { soundSample = new SoundLibrary.SerializedSample { pB = 1f, vB = 1f }; CrossfadeSound(new SoundLibrary.SerializedClip { clip = clip, pB = pitch, vB = volume }, loop, after, duration, outDuration, inDuration); }
public void PlayClip(AudioClip clip, float volume, float pitch, bool loop) { soundSample = new SoundLibrary.SerializedSample { pB = 1f, vB = 1f }; PlaySound(new SoundLibrary.SerializedClip { clip = clip, pB = pitch, vB = volume }, loop); }
private void ShowSamples() { if (activeCategory == null) { return; } sampleScrollPos = GUILayout.BeginScrollView(sampleScrollPos, GUILayout.MinWidth(640f)); for (int i = 0; i < activeCategory.samples.Count; i++) { Rect rect = GUILayoutUtility.GetRect(600f, 0f); rect.height = 24f; if (i % 2 == 0) { AudioUI.DrawRect(rect, new Color(0.2f, 0.2f, 0.2f, 0.5f)); } else { AudioUI.DrawRect(rect, new Color(0f, 0f, 0f, 0.5f)); } GUILayout.BeginHorizontal(GUILayout.Height(rect.height)); SoundLibrary.SerializedSample serializedSample = activeCategory.samples[i]; string text = serializedSample.name; if (serializedSample.isSwitch) { text = ((!serializedSample.isLoop) ? (text + " S") : (text + " SL")); } else if (serializedSample.isLoop) { text += " L"; } GUILayout.Label(text); GUILayout.Label("lvl", AudioUI.style, GUILayout.ExpandWidth(expand: false)); Rect rect2 = GUILayoutUtility.GetRect(100f, rect.height, GUILayout.ExpandWidth(expand: false)); float num = AudioUI.DrawHorizontalSlider(rect2, 0f, 1f, 1f, serializedSample.vB, AudioSliderType.Volume); rect2 = GUILayoutUtility.GetRect(50f, rect.height, GUILayout.ExpandWidth(expand: false)); serializedSample.vR = AudioUI.DrawHorizontalSlider(rect2, 0f, 24f, 0f, serializedSample.vR, AudioSliderType.Linear); GUILayout.Label("tune", AudioUI.style, GUILayout.ExpandWidth(expand: false)); rect2 = GUILayoutUtility.GetRect(75f, rect.height, GUILayout.ExpandWidth(expand: false)); float num2 = AudioUI.DrawHorizontalSlider(rect2, -2400f, 2400f, 1f, serializedSample.pB, AudioSliderType.Pitch); rect2 = GUILayoutUtility.GetRect(50f, rect.height, GUILayout.ExpandWidth(expand: false)); serializedSample.pR = AudioUI.DrawHorizontalSlider(rect2, 0f, 2400f, 1f, serializedSample.pR, AudioSliderType.Linear); GUILayout.Label("xfade", AudioUI.style, GUILayout.ExpandWidth(expand: false)); rect2 = GUILayoutUtility.GetRect(100f, rect.height, GUILayout.ExpandWidth(expand: false)); float num3 = AudioUI.DrawHorizontalSlider(rect2, 10f, 5000f, 100f, serializedSample.crossFade * 1000f, AudioSliderType.Log2); if (serializedSample.crossFade * 1000f != num3) { serializedSample.crossFade = num3 / 1000f; } if (num != serializedSample.vB || num2 != serializedSample.pB) { serializedSample.vB = num; serializedSample.pB = num2; if (SoundManager.level != null) { SoundManager.level.RefreshSampleParameters(serializedSample); } if (SoundManager.main != null) { SoundManager.main.RefreshSampleParameters(serializedSample); } } GUILayout.EndHorizontal(); } GUILayout.EndScrollView(); }
private void Window(int id) { GUILayout.BeginHorizontal(); categoryScrollPos = GUILayout.BeginScrollView(categoryScrollPos, GUILayout.MinWidth(240f)); GUILayout.BeginVertical(); GUILayout.Label("Level Library"); for (int i = 0; i < SoundLibrary.level.library.categories.Count; i++) { SoundLibrary.SampleCategory sampleCategory = SoundLibrary.level.library.categories[i]; Rect rect = GUILayoutUtility.GetRect(200f, 24f); AudioUI.DrawRect(rect, (!(sampleCategory.name == pickCategoryName)) ? new Color(0.3f, 0.3f, 0.3f, 1f) : new Color(0f, 0.3f, 0f, 1f)); if (GUI.Toggle(rect, sampleCategory.name == pickCategoryName, sampleCategory.name)) { pickCategoryName = sampleCategory.name; pickLibrary = SoundLibrary.level; } } GUILayout.Label("Main Library"); for (int j = 0; j < SoundLibrary.main.library.categories.Count; j++) { SoundLibrary.SampleCategory sampleCategory2 = SoundLibrary.main.library.categories[j]; Rect rect2 = GUILayoutUtility.GetRect(200f, 24f); AudioUI.DrawRect(rect2, (!(sampleCategory2.name == pickCategoryName)) ? new Color(0.3f, 0.3f, 0.3f, 1f) : new Color(0f, 0.3f, 0f, 1f)); if (GUI.Toggle(rect2, sampleCategory2.name == pickCategoryName, sampleCategory2.name)) { pickCategoryName = sampleCategory2.name; pickLibrary = SoundLibrary.main; } } GUILayout.EndVertical(); GUILayout.EndScrollView(); sampleScrollPos = GUILayout.BeginScrollView(categoryScrollPos, GUILayout.MinWidth(240f)); GUILayout.BeginVertical(); SoundLibrary.SerializedSample serializedSample = null; if (pickLibrary != null) { for (int k = 0; k < pickLibrary.library.samples.Count; k++) { SoundLibrary.SerializedSample serializedSample2 = pickLibrary.library.samples[k]; if (!(serializedSample2.category != pickCategoryName)) { bool flag = pickSampleSound.master.sample == serializedSample2.name; Rect rect3 = GUILayoutUtility.GetRect(200f, 24f); AudioUI.DrawRect(rect3, (!flag) ? new Color(0.3f, 0.3f, 0.3f, 1f) : new Color(0f, 0.3f, 0f, 1f)); if (flag != GUI.Toggle(rect3, flag, serializedSample2.name)) { serializedSample = serializedSample2; } } } } GUILayout.EndVertical(); GUILayout.EndScrollView(); GUILayout.EndHorizontal(); GUI.DragWindow(); if (serializedSample != null) { if (pickSampleSound.master.sample != serializedSample.name) { pickSampleSound.SetSample(serializedSample.name); } pickSampleSound = null; } }