public override void OnInspectorGUI() { serializedObject.Update(); EditorGUILayout.PropertyField(m_Volume, Styles.Volume); EditorGUILayout.PropertyField(m_RolloffScale, Styles.RolloffScale); EditorGUILayout.PropertyField(m_DopplerFactor, Styles.DopplerFactor); EditorGUILayout.PropertyField(m_DefaultSpeakerMode, Styles.DefaultSpeakerMode); EditorGUILayout.PropertyField(m_SampleRate, Styles.SampleRate); EditorGUILayout.PropertyField(m_RequestedDSPBufferSize, Styles.DSPBufferSize); if (m_RequestedDSPBufferSize.intValue != m_ActualDSPBufferSize.intValue) { EditorGUILayout.HelpBox( string.Format(Styles.DSPBufferSizeInfo.text, m_RequestedDSPBufferSize.intValue == 0 ? "default" : m_RequestedDSPBufferSize.intValue.ToString(), m_ActualDSPBufferSize.intValue), MessageType.Info); } EditorGUILayout.PropertyField(m_VirtualVoiceCount, Styles.VirtualVoiceCount); EditorGUILayout.PropertyField(m_RealVoiceCount, Styles.RealVoiceCount); List <string> plugins = new List <string>(AudioSettings.GetSpatializerPluginNames()); plugins.Insert(0, "None"); string[] pluginsArray = plugins.ToArray(); List <GUIContent> pluginsGUIContent = new List <GUIContent>(); foreach (var s in pluginsArray) { pluginsGUIContent.Add(new GUIContent(s)); } List <string> ambisonicDecoderPlugins = new List <string>(AudioUtil.GetAmbisonicDecoderPluginNames()); ambisonicDecoderPlugins.Insert(0, "None"); string[] ambisonicDecoderPluginsArray = ambisonicDecoderPlugins.ToArray(); List <GUIContent> ambisonicDecoderPluginsGUIContent = new List <GUIContent>(); foreach (var s in ambisonicDecoderPluginsArray) { ambisonicDecoderPluginsGUIContent.Add(new GUIContent(s)); } EditorGUI.BeginChangeCheck(); int pluginIndex = FindPluginStringIndex(pluginsArray, m_SpatializerPlugin.stringValue); pluginIndex = EditorGUILayout.Popup(Styles.SpatializerPlugin, pluginIndex, pluginsGUIContent.ToArray()); if (EditorGUI.EndChangeCheck()) { if (pluginIndex == 0) { m_SpatializerPlugin.stringValue = ""; } else { m_SpatializerPlugin.stringValue = pluginsArray[pluginIndex]; } } EditorGUI.BeginChangeCheck(); pluginIndex = FindPluginStringIndex(ambisonicDecoderPluginsArray, m_AmbisonicDecoderPlugin.stringValue); pluginIndex = EditorGUILayout.Popup(Styles.AmbisonicDecoderPlugin, pluginIndex, ambisonicDecoderPluginsGUIContent.ToArray()); if (EditorGUI.EndChangeCheck()) { if (pluginIndex == 0) { m_AmbisonicDecoderPlugin.stringValue = ""; } else { m_AmbisonicDecoderPlugin.stringValue = ambisonicDecoderPluginsArray[pluginIndex]; } } EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(m_DisableAudio, Styles.DisableAudio); EditorGUILayout.PropertyField(m_VirtualizeEffects, Styles.VirtualizeEffects); serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { base.serializedObject.Update(); EditorGUILayout.PropertyField(this.m_Volume, AudioManagerInspector.Styles.Volume, new GUILayoutOption[0]); EditorGUILayout.PropertyField(this.m_RolloffScale, AudioManagerInspector.Styles.RolloffScale, new GUILayoutOption[0]); EditorGUILayout.PropertyField(this.m_DopplerFactor, AudioManagerInspector.Styles.DopplerFactor, new GUILayoutOption[0]); EditorGUILayout.PropertyField(this.m_DefaultSpeakerMode, AudioManagerInspector.Styles.DefaultSpeakerMode, new GUILayoutOption[0]); EditorGUILayout.PropertyField(this.m_SampleRate, AudioManagerInspector.Styles.SampleRate, new GUILayoutOption[0]); EditorGUILayout.PropertyField(this.m_DSPBufferSize, AudioManagerInspector.Styles.DSPBufferSize, new GUILayoutOption[0]); EditorGUILayout.PropertyField(this.m_VirtualVoiceCount, AudioManagerInspector.Styles.VirtualVoiceCount, new GUILayoutOption[0]); EditorGUILayout.PropertyField(this.m_RealVoiceCount, AudioManagerInspector.Styles.RealVoiceCount, new GUILayoutOption[0]); List <string> list = new List <string>(AudioUtil.GetSpatializerPluginNames()); list.Insert(0, "None"); string[] array = list.ToArray(); List <GUIContent> list2 = new List <GUIContent>(); string[] array2 = array; for (int i = 0; i < array2.Length; i++) { string text = array2[i]; list2.Add(new GUIContent(text)); } List <string> list3 = new List <string>(AudioUtil.GetAmbisonicDecoderPluginNames()); list3.Insert(0, "None"); string[] array3 = list3.ToArray(); List <GUIContent> list4 = new List <GUIContent>(); string[] array4 = array3; for (int j = 0; j < array4.Length; j++) { string text2 = array4[j]; list4.Add(new GUIContent(text2)); } EditorGUI.BeginChangeCheck(); int num = this.FindPluginStringIndex(array, this.m_SpatializerPlugin.stringValue); num = EditorGUILayout.Popup(AudioManagerInspector.Styles.SpatializerPlugin, num, list2.ToArray(), new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { if (num == 0) { this.m_SpatializerPlugin.stringValue = ""; } else { this.m_SpatializerPlugin.stringValue = array[num]; } } EditorGUI.BeginChangeCheck(); num = this.FindPluginStringIndex(array3, this.m_AmbisonicDecoderPlugin.stringValue); num = EditorGUILayout.Popup(AudioManagerInspector.Styles.AmbisonicDecoderPlugin, num, list4.ToArray(), new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { if (num == 0) { this.m_AmbisonicDecoderPlugin.stringValue = ""; } else { this.m_AmbisonicDecoderPlugin.stringValue = array3[num]; } } EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(this.m_DisableAudio, AudioManagerInspector.Styles.DisableAudio, new GUILayoutOption[0]); EditorGUILayout.PropertyField(this.m_VirtualizeEffects, AudioManagerInspector.Styles.VirtualizeEffects, new GUILayoutOption[0]); base.serializedObject.ApplyModifiedProperties(); }