BetterInputFieldEditor.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using UnityEditor;
  6. using UnityEditor.UI;
  7. using UnityEditorInternal;
  8. using UnityEngine;
  9. using UnityEngine.UI;
  10. namespace TheraBytes.BetterUi.Editor
  11. {
  12. [CustomEditor(typeof(BetterInputField)), CanEditMultipleObjects]
  13. public class BetterInputFieldEditor : InputFieldEditor
  14. {
  15. BetterElementHelper<InputField, BetterInputField> helper =
  16. new BetterElementHelper<InputField, BetterInputField>();
  17. SerializedProperty additionalPlaceholdersProp;
  18. protected override void OnEnable()
  19. {
  20. base.OnEnable();
  21. additionalPlaceholdersProp = serializedObject.FindProperty("additionalPlaceholders");
  22. }
  23. public override void OnInspectorGUI()
  24. {
  25. base.OnInspectorGUI();
  26. helper.DrawGui(serializedObject);
  27. ThirdParty.ReorderableListGUI.Title("Additional Placeholders");
  28. ThirdParty.ReorderableListGUI.ListField(additionalPlaceholdersProp);
  29. serializedObject.ApplyModifiedProperties();
  30. }
  31. [MenuItem("CONTEXT/InputField/♠ Make Better")]
  32. public static void MakeBetter(MenuCommand command)
  33. {
  34. InputField obj = command.context as InputField;
  35. Betterizer.MakeBetter<InputField, BetterInputField>(obj);
  36. }
  37. }
  38. }