SCKeyboard3DKeyEditor.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEditor;
  4. using UnityEngine;
  5. namespace SC.XR.Unity.Module_Keyboard
  6. {
  7. [CanEditMultipleObjects]
  8. [CustomEditor(typeof(SCKeyboard3DKey), true)]
  9. public class SCKeyboard3DKeyEditor : Editor
  10. {
  11. SerializedProperty m_SCKeyboardKeyEnum;
  12. SerializedProperty m_SpecialKeyEnum;
  13. SerializedProperty m_LanguageKeyEnum;
  14. private void OnEnable()
  15. {
  16. m_SCKeyboardKeyEnum = serializedObject.FindProperty("m_SCKeyboardKeyEnum");
  17. m_SpecialKeyEnum = serializedObject.FindProperty("m_SpecialKeyEnum");
  18. m_LanguageKeyEnum = serializedObject.FindProperty("m_LanguageKeyEnum");
  19. }
  20. public override void OnInspectorGUI()
  21. {
  22. //base.OnInspectorGUI();
  23. EditorGUILayout.Space();
  24. SCKeyboard3DKey key3D = (SCKeyboard3DKey)target;
  25. EditorGUILayout.PropertyField(m_SCKeyboardKeyEnum);
  26. switch (key3D.m_SCKeyboardKeyEnum)
  27. {
  28. case SCKeyboardKeyEnum.ABC:
  29. case SCKeyboardKeyEnum.Num:
  30. case SCKeyboardKeyEnum.Symbol:
  31. case SCKeyboardKeyEnum.Pinyin:
  32. case SCKeyboardKeyEnum.Prompt:
  33. case SCKeyboardKeyEnum.Meme:
  34. break;
  35. case SCKeyboardKeyEnum.Special:
  36. EditorGUILayout.PropertyField(m_SpecialKeyEnum);
  37. break;
  38. case SCKeyboardKeyEnum.Language:
  39. EditorGUILayout.PropertyField(m_LanguageKeyEnum);
  40. break;
  41. }
  42. serializedObject.ApplyModifiedProperties();
  43. }
  44. }
  45. }