internal void OnGUI()
{
FrameDebuggerEvent[] frameEvents = FrameDebuggerUtility.GetFrameEvents();
if (this.m_TreeViewState == null)
{
this.m_TreeViewState = new TreeViewState();
}
if (this.m_Tree == null)
{
this.m_Tree = new FrameDebuggerTreeView(frameEvents, this.m_TreeViewState, this, new Rect());
this.m_FrameEventsHash = FrameDebuggerUtility.eventsHash;
this.m_Tree.m_DataSource.SetExpandedWithChildren(this.m_Tree.m_DataSource.root, true);
}
if (FrameDebuggerUtility.eventsHash != this.m_FrameEventsHash)
{
this.m_Tree.m_DataSource.SetEvents(frameEvents);
this.m_FrameEventsHash = FrameDebuggerUtility.eventsHash;
}
int limit = FrameDebuggerUtility.limit;
bool flag = this.DrawToolbar(frameEvents);
if (!FrameDebuggerUtility.enabled)
{
GUI.enabled = true;
if (!GraphicsSupportsFrameDebugger())
{
EditorGUILayout.HelpBox("Frame Debugger requires multi-threaded renderer. Usually Unity uses that; if it does not try starting with -force-gfx-mt command line argument.", MessageType.Warning, true);
}
EditorGUILayout.HelpBox("Frame Debugger lets you step through draw calls and see how exactly frame is rendered. Click Enable!", MessageType.Info, true);
}
else
{
float fixedHeight = EditorStyles.toolbar.fixedHeight;
Rect dragRect = new Rect(this.m_ListWidth, fixedHeight, 5f, base.position.height - fixedHeight);
dragRect = EditorGUIUtility.HandleHorizontalSplitter(dragRect, base.position.width, 200f, 200f);
this.m_ListWidth = dragRect.x;
Rect rect = new Rect(0f, fixedHeight, this.m_ListWidth, base.position.height - fixedHeight);
Rect rect3 = new Rect(this.m_ListWidth + 4f, fixedHeight + 4f, (base.position.width - this.m_ListWidth) - 8f, (base.position.height - fixedHeight) - 8f);
this.DrawEventsTree(rect);
EditorGUIUtility.DrawHorizontalSplitter(dragRect);
this.DrawCurrentEvent(rect3, frameEvents);
}
if (flag || (limit != FrameDebuggerUtility.limit))
{
this.RepaintOnLimitChange();
}
if (this.m_RepaintFrames > 0)
{
this.m_Tree.SelectFrameEventIndex(FrameDebuggerUtility.limit);
this.RepaintAllNeededThings();
this.m_RepaintFrames--;
}
}