#if UNITY_EDITOR ////////////////////////////////////////////////////////////////////// // // Copyright (c) 2014 Audiokinetic Inc. / All Rights Reserved // ////////////////////////////////////////////////////////////////////// [UnityEditor.CustomEditor(typeof(AkRoom))] public partial class AkRoomInspector : UnityEditor.Editor { private readonly AkUnityEventHandlerInspector m_PostEventHandlerInspector = new AkUnityEventHandlerInspector(); private AkRoom m_AkRoom; private UnityEditor.SerializedProperty priority; private UnityEditor.SerializedProperty reverbAuxBus; private UnityEditor.SerializedProperty reverbLevel; private UnityEditor.SerializedProperty transmissionLoss; private UnityEditor.SerializedProperty roomToneEvent; private UnityEditor.SerializedProperty roomToneAuxSend; private void OnEnable() { m_PostEventHandlerInspector.Init(serializedObject, "triggerList", "Trigger On: ", false); m_AkRoom = target as AkRoom; reverbAuxBus = serializedObject.FindProperty("reverbAuxBus"); reverbLevel = serializedObject.FindProperty("reverbLevel"); transmissionLoss = serializedObject.FindProperty("transmissionLoss"); priority = serializedObject.FindProperty("priority"); roomToneEvent = serializedObject.FindProperty("roomToneEvent"); roomToneAuxSend = serializedObject.FindProperty("roomToneAuxSend"); } // public override void OnInspectorGUI() // { // serializedObject.Update(); // // using (new UnityEditor.EditorGUILayout.VerticalScope("box")) // { // UnityEditor.EditorGUILayout.PropertyField(reverbAuxBus); // UnityEditor.EditorGUILayout.PropertyField(reverbLevel); // UnityEditor.EditorGUILayout.PropertyField(transmissionLoss); // UnityEditor.EditorGUILayout.PropertyField(priority); // // WetTransmissionCheck(m_AkRoom.gameObject); // } // // UnityEditor.EditorGUILayout.LabelField("Room Tone", UnityEditor.EditorStyles.boldLabel); // using (new UnityEditor.EditorGUILayout.VerticalScope("box")) // { // m_PostEventHandlerInspector.OnGUI(); // UnityEditor.EditorGUILayout.PropertyField(roomToneEvent); // UnityEditor.EditorGUILayout.PropertyField(roomToneAuxSend); // // TriggerCheck(m_AkRoom); // } // // AkRoomAwareObjectInspector.RigidbodyCheck(m_AkRoom.gameObject); // // serializedObject.ApplyModifiedProperties(); // } public static void WetTransmissionCheck(UnityEngine.GameObject gameObject) { if (AkWwiseEditorSettings.Instance.ShowSpatialAudioWarningMsg && gameObject.GetComponent() == null && gameObject.GetComponent() == null) { // wet transmission supports box, sphere, capsule and mesh colliders bool bSupported = false; if (gameObject.GetComponent() != null || gameObject.GetComponent() != null || gameObject.GetComponent() != null || gameObject.GetComponent() != null || (gameObject.GetComponent() != null && gameObject.GetComponent().enabled)) bSupported = true; if (bSupported == false) { UnityEngine.GUILayout.Space(UnityEditor.EditorGUIUtility.standardVerticalSpacing); using (new UnityEditor.EditorGUILayout.VerticalScope("box")) { UnityEditor.EditorGUILayout.HelpBox( "Associating a geometry with this room for wet transmission is currently only supported with box, sphere, capsule and mesh colliders, or if the game object also has an enabled AkSurfaceReflector component.", UnityEditor.MessageType.Warning); } } } } // public static void TriggerCheck(AkRoom room) // { // if (room.triggerList.Contains(AkTriggerHandler.DESTROY_TRIGGER_ID) || // room.triggerList.Contains(AkTriggerHandler.ON_DISABLE_TRIGGER_ID)) // { // using (new UnityEditor.EditorGUILayout.VerticalScope("box")) // { // UnityEditor.EditorGUILayout.HelpBox( // "Room tones will only be posted on active and enabled gameobjects; it is not possible to post room tones on disable and on destroy.", // UnityEditor.MessageType.Warning); // } // } // } } #endif