InteractionAreaEditor.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using UnityEditor;
  6. namespace TheraBytes.BetterUi.Editor
  7. {
  8. [CustomEditor(typeof(InteractionArea)), CanEditMultipleObjects]
  9. public class InteractionAreaEditor : UnityEditor.Editor
  10. {
  11. SerializedProperty shapeProp,
  12. radiusFallbackProp, radiusConfigsProp,
  13. raycastProp;
  14. InteractionArea ia;
  15. void OnEnable()
  16. {
  17. ia = target as InteractionArea;
  18. shapeProp = serializedObject.FindProperty("ClickableShape");
  19. radiusFallbackProp = serializedObject.FindProperty("cornerRadiusFallback");
  20. radiusConfigsProp = serializedObject.FindProperty("cornerRadiusConfigs");
  21. raycastProp = serializedObject.FindProperty("m_RaycastTarget");
  22. }
  23. public override void OnInspectorGUI()
  24. {
  25. EditorGUILayout.PropertyField(raycastProp);
  26. EditorGUILayout.Space();
  27. EditorGUILayout.PropertyField(shapeProp);
  28. if(shapeProp.intValue == (int)InteractionArea.Shape.RoundedRectangle)
  29. {
  30. ScreenConfigConnectionHelper.DrawSizerGui("Corner Radius", radiusConfigsProp, ref radiusFallbackProp);
  31. ia.UpdateCornerRadius();
  32. }
  33. serializedObject.ApplyModifiedProperties();
  34. }
  35. }
  36. }