private void HandleCommandEvents() { if (GUIUtility.keyboardControl == this.m_View.treeViewControlID) { if (this.m_ViewState.selectedIDs.Count != 0) { int num = this.m_ViewState.selectedIDs.First <int>() - 1; if (num < this.m_View.m_CallsData.calls.Count) { ProfilerDetailedCallsView.CallInformation callInformation = this.m_View.m_CallsData.calls[num]; if (this.callSelected != null) { Event current = Event.current; this.callSelected(callInformation.path, current); } } } } }
private void CellGUI(Rect cellRect, TreeViewItem item, ProfilerDetailedCallsView.CallsTreeView.Column column, ref TreeView.RowGUIArgs args) { if (this.m_CallsData.calls.Count == 0) { base.RowGUI(args); } else { ProfilerDetailedCallsView.CallInformation callInformation = this.m_CallsData.calls[args.item.id - 1]; base.CenterRectUsingSingleLineHeight(ref cellRect); switch (column) { case ProfilerDetailedCallsView.CallsTreeView.Column.Name: TreeView.DefaultGUI.Label(cellRect, callInformation.name, args.selected, args.focused); break; case ProfilerDetailedCallsView.CallsTreeView.Column.Calls: { string label = callInformation.callsCount.ToString(); TreeView.DefaultGUI.LabelRightAligned(cellRect, label, args.selected, args.focused); break; } case ProfilerDetailedCallsView.CallsTreeView.Column.GcAlloc: { int gcAllocBytes = callInformation.gcAllocBytes; TreeView.DefaultGUI.LabelRightAligned(cellRect, gcAllocBytes.ToString(), args.selected, args.focused); break; } case ProfilerDetailedCallsView.CallsTreeView.Column.TimeMs: { double num = (this.m_Type != ProfilerDetailedCallsView.CallsTreeView.Type.Callees) ? callInformation.totalSelfTimeMs : callInformation.totalCallTimeMs; TreeView.DefaultGUI.LabelRightAligned(cellRect, num.ToString("f2"), args.selected, args.focused); break; } case ProfilerDetailedCallsView.CallsTreeView.Column.TimePercent: TreeView.DefaultGUI.LabelRightAligned(cellRect, (callInformation.timePercent * 100.0).ToString("f2"), args.selected, args.focused); break; } } }