Пример #1
0
        private void DrawCurrentEvent(Rect rect, FrameDebuggerEvent[] descs)
        {
            int num = FrameDebuggerUtility.limit - 1;

            if (num < 0 || num >= descs.Length)
            {
                return;
            }
            GUILayout.BeginArea(rect);
            FrameDebuggerEvent frameDebuggerEvent = descs[num];

            this.DrawRenderTargetControls(frameDebuggerEvent);
            GUILayout.Label(string.Format("Event #{0}: {1}", num + 1, FrameDebuggerWindow.s_FrameEventTypeNames[(int)frameDebuggerEvent.type]), EditorStyles.boldLabel, new GUILayoutOption[0]);
            if (frameDebuggerEvent.vertexCount > 0 || frameDebuggerEvent.indexCount > 0)
            {
                int frameEventShaderID = FrameDebuggerUtility.GetFrameEventShaderID(num);
                if (frameEventShaderID != 0)
                {
                    Shader shader = EditorUtility.InstanceIDToObject(frameEventShaderID) as Shader;
                    if (shader != null)
                    {
                        int frameEventShaderPassIndex = FrameDebuggerUtility.GetFrameEventShaderPassIndex(num);
                        GUILayout.BeginHorizontal(new GUILayoutOption[0]);
                        if (GUILayout.Button(string.Concat(new object[]
                        {
                            "Shader: ",
                            shader.name,
                            " pass #",
                            frameEventShaderPassIndex
                        }), GUI.skin.label, new GUILayoutOption[]
                        {
                            GUILayout.ExpandWidth(false)
                        }))
                        {
                            EditorGUIUtility.PingObject(shader);
                            Event.current.Use();
                        }
                        GUILayout.Label(FrameDebuggerUtility.GetFrameEventShaderKeywords(num), EditorStyles.miniLabel, new GUILayoutOption[0]);
                        GUILayout.EndHorizontal();
                    }
                }
                if (!this.DrawEventMesh(num, frameDebuggerEvent))
                {
                    GUILayout.Label("Vertices: " + frameDebuggerEvent.vertexCount, new GUILayoutOption[0]);
                    GUILayout.Label("Indices: " + frameDebuggerEvent.indexCount, new GUILayoutOption[0]);
                }
            }
            GUILayout.EndArea();
        }
Пример #2
0
        private void DrawCurrentEvent(Rect rect, FrameDebuggerEvent[] descs)
        {
            int index = FrameDebuggerUtility.limit - 1;

            if ((index >= 0) && (index < descs.Length))
            {
                GUILayout.BeginArea(rect);
                FrameDebuggerEvent cur = descs[index];
                this.DrawRenderTargetControls(cur);
                GUILayout.Label(string.Format("Event #{0}: {1}", index + 1, s_FrameEventTypeNames[(int)cur.type]), EditorStyles.boldLabel, new GUILayoutOption[0]);
                if ((cur.vertexCount > 0) || (cur.indexCount > 0))
                {
                    int frameEventShaderID = FrameDebuggerUtility.GetFrameEventShaderID(index);
                    if (frameEventShaderID != 0)
                    {
                        Shader shader = EditorUtility.InstanceIDToObject(frameEventShaderID) as Shader;
                        if (shader != null)
                        {
                            int frameEventShaderPassIndex = FrameDebuggerUtility.GetFrameEventShaderPassIndex(index);
                            GUILayout.BeginHorizontal(new GUILayoutOption[0]);
                            object[]          objArray1 = new object[] { "Shader: ", shader.name, " pass #", frameEventShaderPassIndex };
                            GUILayoutOption[] options   = new GUILayoutOption[] { GUILayout.ExpandWidth(false) };
                            if (GUILayout.Button(string.Concat(objArray1), GUI.skin.label, options))
                            {
                                EditorGUIUtility.PingObject(shader);
                                Event.current.Use();
                            }
                            GUILayout.Label(FrameDebuggerUtility.GetFrameEventShaderKeywords(index), EditorStyles.miniLabel, new GUILayoutOption[0]);
                            GUILayout.EndHorizontal();
                            this.DrawStates();
                        }
                    }
                    if (!this.DrawEventMesh(index, cur))
                    {
                        GUILayout.Label("Vertices: " + cur.vertexCount, new GUILayoutOption[0]);
                        GUILayout.Label("Indices: " + cur.indexCount, new GUILayoutOption[0]);
                    }
                }
                GUILayout.EndArea();
            }
        }