using System; using AlicizaX.Audio.Runtime; using AlicizaX.Editor; using UnityEditor; namespace AlicizaX.Audio.Editor { [CustomEditor(typeof(AudioComponent))] internal sealed class AudioComponentInspector : GameFrameworkInspector { private SerializedProperty m_InstanceRoot = null; private SerializedProperty m_AudioMixer = null; private SerializedProperty m_AudioGroupConfigs = null; public override void OnInspectorGUI() { base.OnInspectorGUI(); serializedObject.Update(); AudioComponent t = (AudioComponent)target; EditorGUI.BeginDisabledGroup(EditorApplication.isPlayingOrWillChangePlaymode); { EditorGUILayout.PropertyField(m_InstanceRoot); EditorGUILayout.PropertyField(m_AudioMixer); EditorGUILayout.PropertyField(m_AudioGroupConfigs, true); } EditorGUI.EndDisabledGroup(); serializedObject.ApplyModifiedProperties(); Repaint(); } private void OnEnable() { m_InstanceRoot = serializedObject.FindProperty("m_InstanceRoot"); m_AudioMixer = serializedObject.FindProperty("m_AudioMixer"); m_AudioGroupConfigs = serializedObject.FindProperty("m_AudioGroupConfigs"); } } }