internal void OnGUI()
{
if (m_Styles == null)
{
m_Styles = new Styles();
}
if ((Event.current.type == EventType.KeyDown) && (Event.current.keyCode == KeyCode.Escape))
{
this.CloseWindow();
}
Texture2D iconForObject = EditorGUIUtility.GetIconForObject(this.m_TargetObject);
bool isLabelIcon = false;
if (Event.current.type == EventType.Repaint)
{
iconForObject = this.ConvertLargeIconToSmallIcon(iconForObject, ref isLabelIcon);
}
Event current = Event.current;
EventType type = current.type;
GUI.BeginGroup(new Rect(0f, 0f, base.position.width, base.position.height), m_Styles.background);
this.DoTopSection(iconForObject != null);
GUILayout.Space(22f);
GUILayout.BeginHorizontal(new GUILayoutOption[0]);
GUILayout.Space(1f);
GUI.enabled = false;
GUILayout.Label("", m_Styles.seperator, new GUILayoutOption[0]);
GUI.enabled = true;
GUILayout.Space(1f);
GUILayout.EndHorizontal();
GUILayout.Space(3f);
if (this.m_ShowLabelIcons)
{
GUILayout.BeginHorizontal(new GUILayoutOption[0]);
GUILayout.Space(6f);
for (int k = 0; k < (this.m_LabelIcons.Length / 2); k++)
{
this.DoButton(this.m_LabelIcons[k], iconForObject, true);
}
GUILayout.EndHorizontal();
GUILayout.Space(5f);
GUILayout.BeginHorizontal(new GUILayoutOption[0]);
GUILayout.Space(6f);
for (int m = this.m_LabelIcons.Length / 2; m < this.m_LabelIcons.Length; m++)
{
this.DoButton(this.m_LabelIcons[m], iconForObject, true);
}
GUILayout.EndHorizontal();
GUILayout.Space(3f);
GUILayout.BeginHorizontal(new GUILayoutOption[0]);
GUILayout.Space(1f);
GUI.enabled = false;
GUILayout.Label("", m_Styles.seperator, new GUILayoutOption[0]);
GUI.enabled = true;
GUILayout.Space(1f);
GUILayout.EndHorizontal();
GUILayout.Space(3f);
}
GUILayout.BeginHorizontal(new GUILayoutOption[0]);
GUILayout.Space(9f);
for (int i = 0; i < (this.m_SmallIcons.Length / 2); i++)
{
this.DoButton(this.m_SmallIcons[i], iconForObject, false);
}
GUILayout.Space(3f);
GUILayout.EndHorizontal();
GUILayout.Space(6f);
GUILayout.BeginHorizontal(new GUILayoutOption[0]);
GUILayout.Space(9f);
for (int j = this.m_SmallIcons.Length / 2; j < this.m_SmallIcons.Length; j++)
{
this.DoButton(this.m_SmallIcons[j], iconForObject, false);
}
GUILayout.Space(3f);
GUILayout.EndHorizontal();
GUILayout.Space(6f);
GUI.backgroundColor = new Color(1f, 1f, 1f, 0.7f);
bool flag2 = false;
int controlID = GUIUtility.GetControlID(s_HashIconSelector, FocusType.Keyboard);
if (GUILayout.Button(EditorGUIUtility.TempContent("Other..."), new GUILayoutOption[0]))
{
GUIUtility.keyboardControl = controlID;
flag2 = true;
}
GUI.backgroundColor = new Color(1f, 1f, 1f, 1f);
GUI.EndGroup();
if (flag2)
{
ObjectSelector.get.Show(this.m_TargetObject, typeof(Texture2D), null, false);
ObjectSelector.get.objectSelectorID = controlID;
GUI.backgroundColor = new Color(1f, 1f, 1f, 0.7f);
current.Use();
GUIUtility.ExitGUI();
}
if ((type == EventType.ExecuteCommand) && (((current.commandName == "ObjectSelectorUpdated") && (ObjectSelector.get.objectSelectorID == controlID)) && (GUIUtility.keyboardControl == controlID)))
{
Texture2D currentObject = ObjectSelector.GetCurrentObject() as Texture2D;
EditorGUIUtility.SetIconForObject(this.m_TargetObject, currentObject);
GUI.changed = true;
current.Use();
}
}