public FrameDebuggerTreeView(FrameDebuggerEvent[] frameEvents, TreeViewState treeViewState, FrameDebuggerWindow window, Rect startRect)
 {
     this.m_FrameDebugger = window;
     this.m_TreeView      = new TreeView((EditorWindow)window, treeViewState);
     this.m_DataSource    = new FrameDebuggerTreeView.FDTreeViewDataSource(this.m_TreeView, frameEvents);
     FrameDebuggerTreeView.FDTreeViewGUI fdTreeViewGui = new FrameDebuggerTreeView.FDTreeViewGUI(this.m_TreeView);
     this.m_TreeView.Init(startRect, (ITreeViewDataSource)this.m_DataSource, (ITreeViewGUI)fdTreeViewGui, (ITreeViewDragging)null);
     this.m_TreeView.ReloadData();
     this.m_TreeView.selectionChangedCallback += new System.Action <int[]>(this.SelectionChanged);
 }
        public FrameDebuggerTreeView(FrameDebuggerEvent[] frameEvents, TreeViewState treeViewState, FrameDebuggerWindow window, Rect startRect)
        {
            m_FrameDebugger = window;
            m_TreeView      = new TreeViewController(window, treeViewState);
            m_DataSource    = new FDTreeViewDataSource(m_TreeView, frameEvents);
            var gui = new FDTreeViewGUI(m_TreeView);

            m_TreeView.Init(startRect, m_DataSource, gui, null);
            m_TreeView.ReloadData();
            m_TreeView.selectionChangedCallback += SelectionChanged;
        }
Beispiel #3
0
        public FrameDebuggerTreeView(FrameDebuggerEvent[] frameEvents, TreeViewState treeViewState, FrameDebuggerWindow window, Rect startRect)
        {
            this.m_FrameDebugger = window;
            this.m_TreeView      = new TreeView(window, treeViewState);
            this.m_DataSource    = new FDTreeViewDataSource(this.m_TreeView, frameEvents);
            FDTreeViewGUI gui = new FDTreeViewGUI(this.m_TreeView);

            this.m_TreeView.Init(startRect, this.m_DataSource, gui, null);
            this.m_TreeView.ReloadData();
            this.m_TreeView.selectionChangedCallback = (Action <int[]>)Delegate.Combine(this.m_TreeView.selectionChangedCallback, new Action <int[]>(this.SelectionChanged));
        }
Beispiel #4
0
 public override void DrawToolbar(Rect position)
 {
     EditorGUILayout.BeginHorizontal(EditorStyles.toolbar);
     if (GUILayout.Button(GUI.enabled
         ? Styles.frameDebugger
         : Styles.noFrameDebugger, EditorStyles.toolbarButtonLeft))
     {
         FrameDebuggerWindow dbg = FrameDebuggerWindow.ShowFrameDebuggerWindow();
         dbg.EnableIfNeeded();
     }
     GUILayout.FlexibleSpace();
     EditorGUILayout.EndHorizontal();
 }
            public override void FetchData()
            {
                FrameDebuggerTreeView.FDTreeViewDataSource.FDTreeHierarchyLevel        fDTreeHierarchyLevel = new FrameDebuggerTreeView.FDTreeViewDataSource.FDTreeHierarchyLevel(0, 0, string.Empty, null);
                List <FrameDebuggerTreeView.FDTreeViewDataSource.FDTreeHierarchyLevel> list = new List <FrameDebuggerTreeView.FDTreeViewDataSource.FDTreeHierarchyLevel>();

                list.Add(fDTreeHierarchyLevel);
                int num = -1;

                for (int i = 0; i < this.m_FrameEvents.Length; i++)
                {
                    string   text  = "/" + (FrameDebuggerUtility.GetFrameEventInfoName(i) ?? string.Empty);
                    string[] array = text.Split(new char[]
                    {
                        '/'
                    });
                    int num2 = 0;
                    while (num2 < list.Count && num2 < array.Length)
                    {
                        if (array[num2] != list[num2].item.displayName)
                        {
                            break;
                        }
                        num2++;
                    }
                    while (list.Count > 0 && list.Count > num2)
                    {
                        FrameDebuggerTreeView.FDTreeViewDataSource.CloseLastHierarchyLevel(list, i);
                    }
                    for (int j = num2; j < array.Length; j++)
                    {
                        FrameDebuggerTreeView.FDTreeViewDataSource.FDTreeHierarchyLevel fDTreeHierarchyLevel2 = list[list.Count - 1];
                        FrameDebuggerTreeView.FDTreeViewDataSource.FDTreeHierarchyLevel fDTreeHierarchyLevel3 = new FrameDebuggerTreeView.FDTreeViewDataSource.FDTreeHierarchyLevel(list.Count - 1, --num, array[j], fDTreeHierarchyLevel2.item);
                        fDTreeHierarchyLevel2.children.Add(fDTreeHierarchyLevel3.item);
                        list.Add(fDTreeHierarchyLevel3);
                    }
                    GameObject gameObjectForEvent = FrameDebuggerWindow.GetGameObjectForEvent(i);
                    string     displayName        = (!gameObjectForEvent) ? string.Empty : (" " + gameObjectForEvent.name);
                    FrameDebuggerTreeView.FDTreeViewDataSource.FDTreeHierarchyLevel fDTreeHierarchyLevel4 = list[list.Count - 1];
                    int id = i + 1;
                    FrameDebuggerTreeView.FDTreeViewItem fDTreeViewItem = new FrameDebuggerTreeView.FDTreeViewItem(id, list.Count - 1, fDTreeHierarchyLevel4.item, displayName);
                    fDTreeViewItem.m_FrameEvent = this.m_FrameEvents[i];
                    fDTreeHierarchyLevel4.children.Add(fDTreeViewItem);
                    fDTreeHierarchyLevel4.item.m_ChildEventCount++;
                }
                while (list.Count > 0)
                {
                    FrameDebuggerTreeView.FDTreeViewDataSource.CloseLastHierarchyLevel(list, this.m_FrameEvents.Length);
                }
                this.m_RootItem = fDTreeHierarchyLevel.item;
            }
 public override void DrawToolbar(Rect position)
 {
     if (Unity.MPE.ProcessService.level != Unity.MPE.ProcessLevel.UMP_MASTER)
     {
         return;
     }
     EditorGUILayout.BeginHorizontal(EditorStyles.toolbar);
     if (GUILayout.Button(GUI.enabled
         ? Styles.frameDebugger
         : Styles.noFrameDebugger, EditorStyles.toolbarButtonLeft))
     {
         FrameDebuggerWindow dbg = FrameDebuggerWindow.ShowFrameDebuggerWindow();
         dbg.EnableIfNeeded();
     }
     GUILayout.FlexibleSpace();
     EditorGUILayout.EndHorizontal();
 }