SCKeyboard2DKeyEditor.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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(SCKeyboard2DKey), true)]
  9. public class SCKeyboard2DKeyEditor : Editor
  10. {
  11. SerializedProperty m_SCKeyboardKeyEnum;
  12. SerializedProperty m_SpecialKeyEnum;
  13. SerializedProperty m_LanguageKeyEnum;
  14. SerializedProperty m_UGUIKeyEnum;
  15. SerializedProperty m_Value;
  16. private void OnEnable()
  17. {
  18. m_SCKeyboardKeyEnum = serializedObject.FindProperty("m_SCKeyboardKeyEnum");
  19. m_SpecialKeyEnum = serializedObject.FindProperty("m_SpecialKeyEnum");
  20. m_LanguageKeyEnum = serializedObject.FindProperty("m_LanguageKeyEnum");
  21. m_UGUIKeyEnum = serializedObject.FindProperty("m_UGUIKeyEnum");
  22. m_Value = serializedObject.FindProperty("m_Value");
  23. }
  24. public override void OnInspectorGUI()
  25. {
  26. //base.OnInspectorGUI();
  27. EditorGUILayout.Space();
  28. SCKeyboard2DKey key2D = (SCKeyboard2DKey)target;
  29. EditorGUILayout.PropertyField(m_SCKeyboardKeyEnum);
  30. switch (key2D.m_SCKeyboardKeyEnum)
  31. {
  32. case SCKeyboardKeyEnum.ABC:
  33. case SCKeyboardKeyEnum.Num:
  34. case SCKeyboardKeyEnum.Symbol:
  35. case SCKeyboardKeyEnum.Pinyin:
  36. EditorGUILayout.PropertyField(m_Value);
  37. break;
  38. case SCKeyboardKeyEnum.Prompt:
  39. case SCKeyboardKeyEnum.Meme:
  40. break;
  41. case SCKeyboardKeyEnum.Special:
  42. EditorGUILayout.PropertyField(m_SpecialKeyEnum);
  43. break;
  44. case SCKeyboardKeyEnum.Language:
  45. EditorGUILayout.PropertyField(m_LanguageKeyEnum);
  46. break;
  47. case SCKeyboardKeyEnum.UGUI:
  48. EditorGUILayout.PropertyField(m_UGUIKeyEnum);
  49. break;
  50. }
  51. serializedObject.ApplyModifiedProperties();
  52. }
  53. }
  54. }