private void HandleMouseCursor()
{
Event current = Event.current;
if (GUIUtility.hotControl == 0)
{
this.s_DraggingCursorIsCached = false;
}
Rect position = new Rect(0f, 0f, base.position.width, base.position.height);
if (!this.s_DraggingCursorIsCached)
{
MouseCursor arrow = MouseCursor.Arrow;
if ((current.type == EventType.MouseMove) || (current.type == EventType.Repaint))
{
foreach (CursorRect rect4 in s_MouseRects)
{
if (rect4.rect.Contains(current.mousePosition))
{
arrow = rect4.cursor;
position = rect4.rect;
}
}
if (GUIUtility.hotControl != 0)
{
this.s_DraggingCursorIsCached = true;
}
if (arrow != s_LastCursor)
{
s_LastCursor = arrow;
InternalEditorUtility.ResetCursor();
base.Repaint();
}
}
}
if ((current.type == EventType.Repaint) && (s_LastCursor != MouseCursor.Arrow))
{
EditorGUIUtility.AddCursorRect(position, s_LastCursor);
}
}