public void OnGUI(Rect position)
{
if (GradientEditor.s_Styles == null)
{
GradientEditor.s_Styles = new GradientEditor.Styles();
}
float num = 16f;
float num2 = 30f;
float num3 = position.height - 2f * num - num2;
position.height = num;
this.ShowSwatchArray(position, this.m_AlphaSwatches, true);
position.y += num;
if (Event.current.type == EventType.Repaint)
{
position.height = num3;
if (this.m_TextureDirty)
{
this.BuildTexture();
}
GradientEditor.DrawGradientWithBackground(position, this.m_PreviewTex);
}
position.y += num3;
position.height = num;
this.ShowSwatchArray(position, this.m_RGBSwatches, false);
if (this.m_SelectedSwatch != null)
{
position.y += num;
position.height = num2;
position.y += 10f;
float num4 = 45f;
float num5 = 60f;
float num6 = 20f;
float labelWidth = 50f;
float num7 = num5 + num6 + num5 + num4;
Rect position2 = position;
position2.height = 18f;
position2.x += 17f;
position2.width -= num7;
EditorGUIUtility.labelWidth = labelWidth;
if (this.m_SelectedSwatch.m_IsAlpha)
{
EditorGUIUtility.fieldWidth = 30f;
EditorGUI.BeginChangeCheck();
float num8 = (float)EditorGUI.IntSlider(position2, GradientEditor.s_Styles.alphaText, (int)(this.m_SelectedSwatch.m_Value.r * 255f), 0, 255) / 255f;
if (EditorGUI.EndChangeCheck())
{
num8 = Mathf.Clamp01(num8);
this.m_SelectedSwatch.m_Value.r = (this.m_SelectedSwatch.m_Value.g = (this.m_SelectedSwatch.m_Value.b = num8));
this.AssignBack();
HandleUtility.Repaint();
}
}
else
{
EditorGUI.BeginChangeCheck();
this.m_SelectedSwatch.m_Value = EditorGUI.ColorField(position2, GradientEditor.s_Styles.colorText, this.m_SelectedSwatch.m_Value, true, false);
if (EditorGUI.EndChangeCheck())
{
this.AssignBack();
HandleUtility.Repaint();
}
}
position2.x += position2.width + num6;
position2.width = num4 + num5;
EditorGUIUtility.labelWidth = num5;
string kFloatFieldFormatString = EditorGUI.kFloatFieldFormatString;
EditorGUI.kFloatFieldFormatString = "f1";
EditorGUI.BeginChangeCheck();
float value = EditorGUI.FloatField(position2, GradientEditor.s_Styles.locationText, this.m_SelectedSwatch.m_Time * 100f) / 100f;
if (EditorGUI.EndChangeCheck())
{
this.m_SelectedSwatch.m_Time = Mathf.Clamp(value, 0f, 1f);
this.AssignBack();
}
EditorGUI.kFloatFieldFormatString = kFloatFieldFormatString;
position2.x += position2.width;
position2.width = 20f;
GUI.Label(position2, GradientEditor.s_Styles.percentText);
}
}