#region Copyright RenGuiYou. All rights reserved. //===================================================== // NeatlyFrameWork // Author: RenGuiyou // Feedback: mailto:750539605@qq.com //===================================================== #endregion using Neatly.UI; using UnityEngine; using UnityEditor; namespace NeatlyEditor.UI { [CustomPropertyDrawer(typeof(ColorCombine), true)] public class ColorCombineDrawer : PropertyDrawer { public override void OnGUI(Rect rect, SerializedProperty prop, GUIContent label) { Rect drawRect = rect; drawRect.height = EditorGUIUtility.singleLineHeight; SerializedProperty normalColor = prop.FindPropertyRelative("m_NormalColor"); SerializedProperty pressedColor = prop.FindPropertyRelative("m_PressedColor"); SerializedProperty offColor = prop.FindPropertyRelative("m_OffColor"); EditorGUI.PropertyField(drawRect, normalColor); drawRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; EditorGUI.PropertyField(drawRect, pressedColor); drawRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; EditorGUI.PropertyField(drawRect, offColor); drawRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; } public override float GetPropertyHeight(SerializedProperty prop, GUIContent label) { return 3* EditorGUIUtility.singleLineHeight + 4 * EditorGUIUtility.standardVerticalSpacing; } } }