using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; namespace SC.XR.Unity.Module_Keyboard { [CanEditMultipleObjects] [CustomEditor(typeof(SCKeyboard2DKey), true)] public class SCKeyboard2DKeyEditor : Editor { SerializedProperty m_SCKeyboardKeyEnum; SerializedProperty m_SpecialKeyEnum; SerializedProperty m_LanguageKeyEnum; SerializedProperty m_UGUIKeyEnum; SerializedProperty m_Value; private void OnEnable() { m_SCKeyboardKeyEnum = serializedObject.FindProperty("m_SCKeyboardKeyEnum"); m_SpecialKeyEnum = serializedObject.FindProperty("m_SpecialKeyEnum"); m_LanguageKeyEnum = serializedObject.FindProperty("m_LanguageKeyEnum"); m_UGUIKeyEnum = serializedObject.FindProperty("m_UGUIKeyEnum"); m_Value = serializedObject.FindProperty("m_Value"); } public override void OnInspectorGUI() { //base.OnInspectorGUI(); EditorGUILayout.Space(); SCKeyboard2DKey key2D = (SCKeyboard2DKey)target; EditorGUILayout.PropertyField(m_SCKeyboardKeyEnum); switch (key2D.m_SCKeyboardKeyEnum) { case SCKeyboardKeyEnum.ABC: case SCKeyboardKeyEnum.Num: case SCKeyboardKeyEnum.Symbol: case SCKeyboardKeyEnum.Pinyin: EditorGUILayout.PropertyField(m_Value); break; case SCKeyboardKeyEnum.Prompt: case SCKeyboardKeyEnum.Meme: break; case SCKeyboardKeyEnum.Special: EditorGUILayout.PropertyField(m_SpecialKeyEnum); break; case SCKeyboardKeyEnum.Language: EditorGUILayout.PropertyField(m_LanguageKeyEnum); break; case SCKeyboardKeyEnum.UGUI: EditorGUILayout.PropertyField(m_UGUIKeyEnum); break; } serializedObject.ApplyModifiedProperties(); } } }