public override void FetchData() { AudioProfilerClipView.AudioProfilerClipTreeViewItem parentNode = new AudioProfilerClipView.AudioProfilerClipTreeViewItem(1, 0, null, "ROOT", new AudioProfilerClipInfoWrapper(new AudioProfilerClipInfo(), "ROOT")); this.FillTreeItems(parentNode, 1, 0, this.m_Backend.items); base.m_RootItem = parentNode; this.SetExpandedWithChildren(base.m_RootItem, true); base.m_NeedRefreshRows = true; }
private void FillTreeItems(AudioProfilerClipView.AudioProfilerClipTreeViewItem parentNode, int depth, int parentId, List <AudioProfilerClipInfoWrapper> items) { parentNode.children = new List <TreeViewItem>(items.Count); int num = 1; foreach (AudioProfilerClipInfoWrapper wrapper in items) { AudioProfilerClipView.AudioProfilerClipTreeViewItem item = new AudioProfilerClipView.AudioProfilerClipTreeViewItem(++num, 1, parentNode, wrapper.assetName, wrapper); parentNode.children.Add(item); } }
protected override void OnContentGUI(Rect rect, int row, TreeViewItem item, string label, bool selected, bool focused, bool useBoldFont, bool isPinging) { if (Event.current.type == EventType.Repaint) { GUIStyle style = !useBoldFont ? TreeViewGUI.s_Styles.lineStyle : TreeViewGUI.s_Styles.lineBoldStyle; style.alignment = TextAnchor.MiddleLeft; style.padding.left = 0; int num = 2; base.OnContentGUI(new Rect(rect.x, rect.y, this.columnWidths[0] - num, rect.height), row, item, label, selected, focused, useBoldFont, isPinging); rect.x += this.columnWidths[0] + num; AudioProfilerClipView.AudioProfilerClipTreeViewItem item2 = item as AudioProfilerClipView.AudioProfilerClipTreeViewItem; for (int i = 1; i < this.columnWidths.Length; i++) { rect.width = this.columnWidths[i] - (2 * num); style.alignment = TextAnchor.MiddleRight; style.Draw(rect, AudioProfilerClipInfoHelper.GetColumnString(item2.info, (AudioProfilerClipInfoHelper.ColumnIndices)i), false, false, selected, focused); Handles.color = Color.black; Handles.DrawLine(new Vector3((rect.x - num) + 1f, rect.y, 0f), new Vector3((rect.x - num) + 1f, rect.y + rect.height, 0f)); rect.x += this.columnWidths[i]; } style.alignment = TextAnchor.MiddleLeft; } }