暫無描述
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DropdownEditor.cs 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using UnityEngine.UI;
  2. namespace UnityEditor.UI
  3. {
  4. [CustomEditor(typeof(Dropdown), true)]
  5. [CanEditMultipleObjects]
  6. /// <summary>
  7. /// Custom editor for the Dropdown component
  8. /// Extend this class to write a custom editor for a component derived from Dropdown.
  9. /// </summary>
  10. public class DropdownEditor : SelectableEditor
  11. {
  12. SerializedProperty m_Template;
  13. SerializedProperty m_CaptionText;
  14. SerializedProperty m_CaptionImage;
  15. SerializedProperty m_ItemText;
  16. SerializedProperty m_ItemImage;
  17. SerializedProperty m_OnSelectionChanged;
  18. SerializedProperty m_Value;
  19. SerializedProperty m_Options;
  20. SerializedProperty m_AlphaFadeSpeed;
  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_ItemText = serializedObject.FindProperty("m_ItemText");
  28. m_ItemImage = serializedObject.FindProperty("m_ItemImage");
  29. m_OnSelectionChanged = serializedObject.FindProperty("m_OnValueChanged");
  30. m_Value = serializedObject.FindProperty("m_Value");
  31. m_Options = serializedObject.FindProperty("m_Options");
  32. m_AlphaFadeSpeed = serializedObject.FindProperty("m_AlphaFadeSpeed");
  33. }
  34. public override void OnInspectorGUI()
  35. {
  36. base.OnInspectorGUI();
  37. EditorGUILayout.Space();
  38. serializedObject.Update();
  39. EditorGUILayout.PropertyField(m_Template);
  40. EditorGUILayout.PropertyField(m_CaptionText);
  41. EditorGUILayout.PropertyField(m_CaptionImage);
  42. EditorGUILayout.PropertyField(m_ItemText);
  43. EditorGUILayout.PropertyField(m_ItemImage);
  44. EditorGUILayout.PropertyField(m_Value);
  45. EditorGUILayout.PropertyField(m_AlphaFadeSpeed);
  46. EditorGUILayout.PropertyField(m_Options);
  47. EditorGUILayout.PropertyField(m_OnSelectionChanged);
  48. serializedObject.ApplyModifiedProperties();
  49. }
  50. }
  51. }