UnityEditor.Editor.OnHeaderControlsGUI C# (CSharp) Method

OnHeaderControlsGUI() private method

private OnHeaderControlsGUI ( ) : void
return void
        internal virtual void OnHeaderControlsGUI()
        {
            GUILayoutUtility.GetRect(10f, 10f, 16f, 16f, EditorStyles.layerMaskField);
            GUILayout.FlexibleSpace();
            bool flag = true;
            if (!(this is AssetImporterInspector))
            {
                if (!AssetDatabase.IsMainAsset(this.targets[0]))
                {
                    flag = false;
                }
                AssetImporter atPath = AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(this.targets[0]));
                if ((atPath != null) && (atPath.GetType() != typeof(AssetImporter)))
                {
                    flag = false;
                }
            }
            if (flag && GUILayout.Button("Open", EditorStyles.miniButton, new GUILayoutOption[0]))
            {
                if (this is AssetImporterInspector)
                {
                    AssetDatabase.OpenAsset((this as AssetImporterInspector).assetEditor.targets);
                }
                else
                {
                    AssetDatabase.OpenAsset(this.targets);
                }
                GUIUtility.ExitGUI();
            }
        }

Usage Example

コード例 #1
0
ファイル: Editor.cs プロジェクト: zzrx79/UnityDecompiled
        internal static Rect DrawHeaderGUI(Editor editor, string header, float leftMargin)
        {
            if (Editor.s_Styles == null)
            {
                Editor.s_Styles = new Editor.Styles();
            }
            GUILayout.BeginHorizontal(Editor.s_Styles.inspectorBig, new GUILayoutOption[0]);
            GUILayout.Space(38f);
            GUILayout.BeginVertical(new GUILayoutOption[0]);
            GUILayout.Space(19f);
            GUILayout.BeginHorizontal(new GUILayoutOption[0]);
            if (leftMargin > 0f)
            {
                GUILayout.Space(leftMargin);
            }
            if (editor)
            {
                editor.OnHeaderControlsGUI();
            }
            else
            {
                EditorGUILayout.GetControlRect(new GUILayoutOption[0]);
            }
            GUILayout.EndHorizontal();
            GUILayout.EndVertical();
            GUILayout.EndHorizontal();
            Rect lastRect = GUILayoutUtility.GetLastRect();
            Rect r        = new Rect(lastRect.x + leftMargin, lastRect.y, lastRect.width - leftMargin, lastRect.height);
            Rect rect     = new Rect(r.x + 6f, r.y + 6f, 32f, 32f);

            if (editor)
            {
                editor.OnHeaderIconGUI(rect);
            }
            else
            {
                GUI.Label(rect, AssetPreview.GetMiniTypeThumbnail(typeof(UnityEngine.Object)), Editor.s_Styles.centerStyle);
            }
            if (editor)
            {
                editor.DrawPostIconContent(rect);
            }
            Rect rect2 = new Rect(r.x + 44f, r.y + 6f, r.width - 44f - 38f - 4f, 16f);

            if (editor)
            {
                editor.OnHeaderTitleGUI(rect2, header);
            }
            else
            {
                GUI.Label(rect2, header, EditorStyles.largeLabel);
            }
            if (editor)
            {
                editor.DrawHeaderHelpAndSettingsGUI(r);
            }
            Event current = Event.current;

            if (editor != null && current.type == EventType.MouseDown && current.button == 1 && r.Contains(current.mousePosition))
            {
                EditorUtility.DisplayObjectContextMenu(new Rect(current.mousePosition.x, current.mousePosition.y, 0f, 0f), editor.targets, 0);
                current.Use();
            }
            return(lastRect);
        }
All Usage Examples Of UnityEditor.Editor::OnHeaderControlsGUI