private void OnGUI()
{
this.InitIfNeeded();
if (this.m_resetKeyboardControl)
{
GUIUtility.keyboardControl = 0;
this.m_resetKeyboardControl = false;
}
EventType type = Event.current.type;
if (type == EventType.ExecuteCommand)
{
string commandName = Event.current.commandName;
switch (commandName)
{
case "EyeDropperUpdate":
base.Repaint();
break;
case "EyeDropperClicked":
{
Color lastPickedColor = EyeDropper.GetLastPickedColor();
this.m_R = lastPickedColor.r;
this.m_G = lastPickedColor.g;
this.m_B = lastPickedColor.b;
this.RGBToHSV();
this.m_ColorBoxMode = this.m_OldColorBoxMode;
this.m_Color = new Color(this.m_R, this.m_G, this.m_B, this.m_A);
this.SendEvent(true);
break;
}
case "EyeDropperCancelled":
base.Repaint();
this.m_ColorBoxMode = this.m_OldColorBoxMode;
break;
}
}
EditorGUIUtility.labelWidth = 15f;
EditorGUIUtility.fieldWidth = 30f;
Rect rect = EditorGUILayout.BeginVertical(ColorPicker.styles.background, new GUILayoutOption[0]);
EditorGUI.BeginChangeCheck();
GUILayout.Space(10f);
this.DoColorSwatchAndEyedropper();
GUILayout.Space(10f);
this.DoColorSpaceGUI();
GUILayout.Space(10f);
this.DoColorSliders();
GUILayout.Space(10f);
if (EditorGUI.EndChangeCheck())
{
this.colorChanged = true;
}
this.DoPresetsGUI();
if (this.colorChanged)
{
EditorPrefs.SetInt("CPSliderShow", (!this.m_ShowSliders) ? 0 : 1);
EditorPrefs.SetInt("CPSliderMode", (int)this.m_SliderMode);
EditorPrefs.SetInt("CPColorShow", (!this.m_ShowColors) ? 0 : 1);
EditorPrefs.SetInt("CPColorMode", (int)this.m_ColorBoxMode);
}
if (this.colorChanged)
{
this.colorChanged = false;
this.m_Color = new Color(this.m_R, this.m_G, this.m_B, this.m_A);
this.SendEvent(true);
}
EditorGUILayout.EndVertical();
if (rect.height > 0f)
{
this.SetHeight(rect.height);
}
if (Event.current.type == EventType.KeyDown)
{
KeyCode keyCode = Event.current.keyCode;
if (keyCode != KeyCode.Return)
{
if (keyCode == KeyCode.Escape)
{
Undo.RevertAllDownToGroup(this.m_ModalUndoGroup);
this.m_Color = this.m_OriginalColor;
this.SendEvent(false);
base.Close();
GUIUtility.ExitGUI();
return;
}
if (keyCode != KeyCode.KeypadEnter)
{
return;
}
}
base.Close();
}
}