TMP_DropdownEditor.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using UnityEngine;
  2. using UnityEditor;
  3. using UnityEditor.UI;
  4. using UnityEngine.UI;
  5. namespace TMPro.EditorUtilities
  6. {
  7. [CustomEditor(typeof(TMP_Dropdown), true)]
  8. [CanEditMultipleObjects]
  9. public class DropdownEditor : SelectableEditor
  10. {
  11. SerializedProperty m_Template;
  12. SerializedProperty m_CaptionText;
  13. SerializedProperty m_CaptionImage;
  14. SerializedProperty m_Placeholder;
  15. SerializedProperty m_ItemText;
  16. SerializedProperty m_ItemImage;
  17. SerializedProperty m_OnSelectionChanged;
  18. SerializedProperty m_Value;
  19. SerializedProperty m_AlphaFadeSpeed;
  20. SerializedProperty m_Options;
  21. protected override void OnEnable()
  22. {
  23. base.OnEnable();
  24. m_Template = serializedObject.FindProperty("m_Template");
  25. m_CaptionText = serializedObject.FindProperty("m_CaptionText");
  26. m_CaptionImage = serializedObject.FindProperty("m_CaptionImage");
  27. m_Placeholder = serializedObject.FindProperty("m_Placeholder");
  28. m_ItemText = serializedObject.FindProperty("m_ItemText");
  29. m_ItemImage = serializedObject.FindProperty("m_ItemImage");
  30. m_OnSelectionChanged = serializedObject.FindProperty("m_OnValueChanged");
  31. m_Value = serializedObject.FindProperty("m_Value");
  32. m_AlphaFadeSpeed = serializedObject.FindProperty("m_AlphaFadeSpeed");
  33. m_Options = serializedObject.FindProperty("m_Options");
  34. }
  35. public override void OnInspectorGUI()
  36. {
  37. base.OnInspectorGUI();
  38. EditorGUILayout.Space();
  39. serializedObject.Update();
  40. EditorGUILayout.PropertyField(m_Template);
  41. EditorGUILayout.PropertyField(m_CaptionText);
  42. EditorGUILayout.PropertyField(m_CaptionImage);
  43. EditorGUILayout.PropertyField(m_Placeholder);
  44. EditorGUILayout.PropertyField(m_ItemText);
  45. EditorGUILayout.PropertyField(m_ItemImage);
  46. EditorGUILayout.PropertyField(m_Value);
  47. EditorGUILayout.PropertyField(m_AlphaFadeSpeed);
  48. EditorGUILayout.PropertyField(m_Options);
  49. EditorGUILayout.PropertyField(m_OnSelectionChanged);
  50. serializedObject.ApplyModifiedProperties();
  51. }
  52. }
  53. }