forked from cgvr/DeltaVR
		
	
		
			
				
	
	
		
			106 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
/*
 | 
						|
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 | 
						|
 * All rights reserved.
 | 
						|
 *
 | 
						|
 * Licensed under the Oculus SDK License Agreement (the "License");
 | 
						|
 * you may not use the Oculus SDK except in compliance with the License,
 | 
						|
 * which is provided at the time of installation or download, or which
 | 
						|
 * otherwise accompanies this software in either electronic or hard copy form.
 | 
						|
 *
 | 
						|
 * You may obtain a copy of the License at
 | 
						|
 *
 | 
						|
 * https://developer.oculus.com/licenses/oculussdk/
 | 
						|
 *
 | 
						|
 * Unless required by applicable law or agreed to in writing, the Oculus SDK
 | 
						|
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
 * See the License for the specific language governing permissions and
 | 
						|
 * limitations under the License.
 | 
						|
 */
 | 
						|
 | 
						|
/************************************************************************************
 | 
						|
 * Filename    :   ONSPAudioSourceEditor.cs
 | 
						|
 * Content     :   This script adds editor functionality to OculusSpatializerUserParams script.
 | 
						|
 ***********************************************************************************/
 | 
						|
 | 
						|
#define CUSTOM_LAYOUT
 | 
						|
 | 
						|
using UnityEditor;
 | 
						|
using UnityEngine;
 | 
						|
using System.Collections.Generic;
 | 
						|
 | 
						|
[CustomEditor(typeof(ONSPAudioSource))]
 | 
						|
 | 
						|
public class OculusSpatializerUserParamsEditor : Editor
 | 
						|
{
 | 
						|
	// target component
 | 
						|
	private ONSPAudioSource m_Component;
 | 
						|
 | 
						|
	// OnEnable
 | 
						|
	void OnEnable()
 | 
						|
	{
 | 
						|
		m_Component = (ONSPAudioSource)target;
 | 
						|
	}
 | 
						|
	
 | 
						|
	// OnInspectorGUI
 | 
						|
	public override void OnInspectorGUI()
 | 
						|
	{
 | 
						|
		GUI.color = Color.white;
 | 
						|
		Undo.RecordObject(m_Component, "OculusSpatializerUserParams");
 | 
						|
		
 | 
						|
		{
 | 
						|
			#if CUSTOM_LAYOUT
 | 
						|
			m_Component.EnableSpatialization = EditorGUILayout.Toggle("Spatialization Enabled", m_Component.EnableSpatialization);
 | 
						|
			m_Component.EnableRfl  = EditorGUILayout.Toggle("Reflections Enabled", m_Component.EnableRfl);
 | 
						|
			m_Component.Gain  = EditorGUILayout.FloatField("Gain", m_Component.Gain);
 | 
						|
 | 
						|
			Separator();
 | 
						|
 | 
						|
			Label ("OCULUS ATTENUATION");
 | 
						|
			m_Component.UseInvSqr = EditorGUILayout.Toggle("Enabled", m_Component.UseInvSqr);
 | 
						|
			Label ("");
 | 
						|
			Label("RANGE (0.0 - 1000000.0 meters)");
 | 
						|
			m_Component.Near  = EditorGUILayout.FloatField("Minimum", m_Component.Near);
 | 
						|
			m_Component.Far   = EditorGUILayout.FloatField("Maximum", m_Component.Far);
 | 
						|
 | 
						|
            Label("");
 | 
						|
            Label("VOLUMETRIC RADIUS (0.0 - 1000.0 meters)");
 | 
						|
            m_Component.VolumetricRadius = EditorGUILayout.FloatField("Radius", m_Component.VolumetricRadius);
 | 
						|
 | 
						|
			Separator();
 | 
						|
 | 
						|
			Label("REVERB SEND LEVEL (-60.0 - 20.0 decibels)");
 | 
						|
			m_Component.ReverbSend  = EditorGUILayout.FloatField(" ", m_Component.ReverbSend);
 | 
						|
 | 
						|
			Separator();
 | 
						|
 | 
						|
			#else			 
 | 
						|
			DrawDefaultInspector ();
 | 
						|
			#endif
 | 
						|
		}
 | 
						|
		
 | 
						|
		if (GUI.changed)
 | 
						|
		{
 | 
						|
			EditorUtility.SetDirty(m_Component);
 | 
						|
		}
 | 
						|
	}	
 | 
						|
	
 | 
						|
	// Utilities, move out of here (or copy over to other editor script)
 | 
						|
	
 | 
						|
	// Separator
 | 
						|
	void Separator()
 | 
						|
	{
 | 
						|
		GUI.color = new Color(1, 1, 1, 0.25f);
 | 
						|
		GUILayout.Box("", "HorizontalSlider", GUILayout.Height(16));
 | 
						|
		GUI.color = Color.white;
 | 
						|
	}
 | 
						|
	
 | 
						|
	// Label
 | 
						|
	void Label(string label)
 | 
						|
	{
 | 
						|
		EditorGUILayout.LabelField (label);
 | 
						|
	}
 | 
						|
	
 | 
						|
}
 | 
						|
 |