コード例 #1
0
        private void DrawStackTrace(StateMachineDebugger.TransitionRecord record)
        {
            if (record.index < 0)
            {
                return;
            }
            try
            {
                var trace  = record.stackTrace;
                var frames = trace.GetFrames();

                DrawRecordInfo(record);

                Color defaultColor = GUI.backgroundColor;
                GUI.backgroundColor = Color.white;

                StateMachineDebuggerEditorUtil.DrawSplitLine();
                GUILayout.BeginVertical();
                scrollPos = GUILayout.BeginScrollView(scrollPos);

                for (int i = START_FRAME_INDEX; i < frames.Length; i++)
                {
                    DrawStackFrame(frames[i]);
                }

                GUILayout.EndScrollView();
                GUILayout.EndVertical();

                GUI.backgroundColor = defaultColor;
            }
            catch
            {
            }
        }
コード例 #2
0
        private void OnGUI()
        {
            try
            {
                GUILayout.BeginHorizontal();
                GUILayout.Label("History", GUILayout.Width(100));
                GUILayout.Label("Time Ascending", GUILayout.Width(100));
                timeAscending = EditorGUILayout.Toggle(timeAscending);
                GUILayout.EndHorizontal();
                GUILayout.Space(10);

                var g_history = StateMachineDebugger.g_transitionHistory;

                StateMachineDebuggerEditorUtil.DrawTransitionHistory(g_history, -1, ref scrollPos, !timeAscending, true);
            }
            catch
            {
            }
        }
コード例 #3
0
        private void DrawTransitionHistory(StateMachineDebugger smd)
        {
            if (!smd.transitionValid)
            {
                return;
            }

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("History", GUILayout.Width(130));
            EditorGUILayout.LabelField("Time Ascending", GUILayout.Width(100));
            smd.timeAscending = EditorGUILayout.Toggle(smd.timeAscending);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginVertical();
            StateMachineDebuggerEditorUtil.DrawTransitionHistory(smd.transitionHistory, 300, ref historyScrollPos, !smd.timeAscending, false);

            if (GUILayout.Button("Show Global History", GUILayout.Width(150)))
            {
                GlobalStateHistoryWindow.Create();
            }
            EditorGUILayout.EndVertical();
        }