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 void Activate() { if (!string.IsNullOrEmpty(Spatializer)) { var hasSpatializer = AudioSettings .GetSpatializerPluginNames() .Contains(Spatializer); if (hasSpatializer) { AudioSettings.SetSpatializerPluginName(Spatializer); AudioSettingsExt.SetAmbisonicDecoderPluginName(Spatializer); } } var buildTargetGroup = GetTargetGroup(); #pragma warning disable CS0618 // Type or member is obsolete var supportedVRSDKs = PlayerSettings.GetAvailableVirtualRealitySDKs(buildTargetGroup); var vrSDKs = XRPlatforms .Distinct() .Select(x => x.ToString()) .Where(supportedVRSDKs.Contains) .ToArray(); var enableVR = vrSDKs.Any(sdk => sdk != "None"); if (enableVR != PlayerSettings.GetVirtualRealitySupported(buildTargetGroup)) { PlayerSettings.SetVirtualRealitySupported(buildTargetGroup, enableVR); if (enableVR && !vrSDKs.Matches(PlayerSettings.GetVirtualRealitySDKs(buildTargetGroup))) { PlayerSettings.SetVirtualRealitySDKs(buildTargetGroup, vrSDKs); } } #pragma warning restore CS0618 // Type or member is obsolete if (buildTargetGroup == BuildTargetGroup.WSA) { EditorUserBuildSettings.wsaBuildAndRunDeployTarget = WSABuildAndRunDeployTarget.LocalMachine; EditorUserBuildSettings.wsaUWPBuildType = WSAUWPBuildType.D3D; PlayerSettings.WSA.inputSource = PlayerSettings.WSAInputSource.IndependentInputSource; if (Enum.TryParse(WsaSubtarget, out WSASubtarget sub)) { EditorUserBuildSettings.wsaSubtarget = sub; PlayerSettings.WSA.SetCapability(PlayerSettings.WSACapability.SpatialPerception, sub == WSASubtarget.HoloLens); } } else if (buildTargetGroup == BuildTargetGroup.Android && Enum.TryParse(AndroidSdkVersion, out AndroidSdkVersions sdkVersion)) { PlayerSettings.Android.minSdkVersion = (AndroidSdkVersions)Math.Max( (int)PlayerSettings.Android.minSdkVersion, (int)sdkVersion); } else if (buildTargetGroup == BuildTargetGroup.iOS && Version.TryParse(IOSVersion, out var v) && ApplleiOS.TargetOSVersion < v) { ApplleiOS.TargetOSVersion = v; } var curDefines = Project.GetDefines(); curDefines.AddRange(GetCompilerDefines()); Project.SetDefines(curDefines); }
private void OnEnable() { spatializerPluginNames = AudioSettings.GetSpatializerPluginNames(); spatializerPluginNames = spatializerPluginNames.Prepend("None").ToArray(); index = Math.Max(Array.IndexOf(spatializerPluginNames, SpatializerPlugin), 0); }
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>(AudioSettings.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(); }