public void GUIMinMaxGradient(GUIContent label, SerializedMinMaxGradient minMaxGradient, params GUILayoutOption[] layoutOptions)
{
MinMaxGradientState state = minMaxGradient.state;
bool flag = (state == MinMaxGradientState.k_RandomBetweenTwoColors) || (state == MinMaxGradientState.k_RandomBetweenTwoGradients);
Rect position = GUILayoutUtility.GetRect((float) 0f, !flag ? ((float) 13) : ((float) 0x1a), layoutOptions);
Rect popupRect = GetPopupRect(position);
Rect rect = PrefixLabel(SubtractPopupWidth(position), label);
rect.height = 13f;
switch (state)
{
case MinMaxGradientState.k_Color:
GUIColor(rect, minMaxGradient.m_MaxColor);
break;
case MinMaxGradientState.k_Gradient:
case MinMaxGradientState.k_RandomColor:
EditorGUI.GradientField(rect, minMaxGradient.m_MaxGradient);
break;
case MinMaxGradientState.k_RandomBetweenTwoColors:
GUIColor(rect, minMaxGradient.m_MaxColor);
rect.y += rect.height;
GUIColor(rect, minMaxGradient.m_MinColor);
break;
case MinMaxGradientState.k_RandomBetweenTwoGradients:
EditorGUI.GradientField(rect, minMaxGradient.m_MaxGradient);
rect.y += rect.height;
EditorGUI.GradientField(rect, minMaxGradient.m_MinGradient);
break;
}
GUIMMGradientPopUp(popupRect, minMaxGradient);
}