BetterElementHelper.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using UnityEditor;
  6. using UnityEngine;
  7. namespace TheraBytes.BetterUi.Editor
  8. {
  9. public class BetterElementHelper<TBase, TBetter>
  10. where TBase : MonoBehaviour
  11. where TBetter : TBase, IBetterTransitionUiElement
  12. {
  13. TransitionCollectionDrawer drawer;
  14. string fieldName;
  15. public BetterElementHelper(string fieldName = "betterTransitions")
  16. {
  17. this.fieldName = fieldName;
  18. this.drawer = new TransitionCollectionDrawer(typeof(TBetter), fieldName);
  19. }
  20. public void DrawGui(SerializedObject serializedObject)
  21. {
  22. drawer.Draw(() => serializedObject.FindProperty(fieldName));
  23. }
  24. [Obsolete(EditorGuiUtils.ObsoleteMessage)]
  25. public void DrawGui(SerializedObject serializedObject, UnityEngine.Object target)
  26. {
  27. EditorGuiUtils.DrawOldMethodCallWarning();
  28. DrawGui(serializedObject);
  29. }
  30. }
  31. }