UIHsvModifierEditor.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using UnityEditor;
  2. using UnityEditorInternal;
  3. using UnityEngine;
  4. using System.Linq;
  5. namespace Coffee.UIEffects.Editors
  6. {
  7. /// <summary>
  8. /// UIEffect editor.
  9. /// </summary>
  10. [CustomEditor(typeof(UIHsvModifier))]
  11. [CanEditMultipleObjects]
  12. public class UIHsvModifierEditor : Editor
  13. {
  14. SerializedProperty _spTargetColor;
  15. SerializedProperty _spRange;
  16. SerializedProperty _spHue;
  17. SerializedProperty _spSaturation;
  18. SerializedProperty _spValue;
  19. /// <summary>
  20. /// This function is called when the object becomes enabled and active.
  21. /// </summary>
  22. protected void OnEnable()
  23. {
  24. _spTargetColor = serializedObject.FindProperty("m_TargetColor");
  25. _spRange = serializedObject.FindProperty("m_Range");
  26. _spHue = serializedObject.FindProperty("m_Hue");
  27. _spSaturation = serializedObject.FindProperty("m_Saturation");
  28. _spValue = serializedObject.FindProperty("m_Value");
  29. }
  30. /// <summary>
  31. /// Implement this function to make a custom inspector.
  32. /// </summary>
  33. public override void OnInspectorGUI()
  34. {
  35. serializedObject.Update();
  36. //================
  37. // Effect setting.
  38. //================
  39. EditorGUILayout.PropertyField(_spTargetColor);
  40. EditorGUILayout.PropertyField(_spRange);
  41. EditorGUILayout.PropertyField(_spHue);
  42. EditorGUILayout.PropertyField(_spSaturation);
  43. EditorGUILayout.PropertyField(_spValue);
  44. serializedObject.ApplyModifiedProperties();
  45. }
  46. }
  47. }