com.alicizax.unity.framework/Editor/Audio/AudioComponentInspector.cs

45 lines
1.3 KiB
C#
Raw Permalink Normal View History

2025-09-05 19:46:30 +08:00
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");
}
}
}