UnityEditor.Editor.OnHeaderIconGUI C# (CSharp) Метод

OnHeaderIconGUI() приватный Метод

private OnHeaderIconGUI ( Rect iconRect ) : void
iconRect UnityEngine.Rect
Результат void
        internal virtual void OnHeaderIconGUI(Rect iconRect)
        {
            if (s_Styles == null)
            {
                s_Styles = new Styles();
            }
            Texture2D image = null;
            if (!this.HasPreviewGUI())
            {
                bool flag = AssetPreview.IsLoadingAssetPreview(this.target.GetInstanceID());
                image = AssetPreview.GetAssetPreview(this.target);
                if (image == null)
                {
                    if (flag)
                    {
                        this.Repaint();
                    }
                    image = AssetPreview.GetMiniThumbnail(this.target);
                }
            }
            if (this.HasPreviewGUI())
            {
                this.OnPreviewGUI(iconRect, s_Styles.inspectorBigInner);
            }
            else if (image != null)
            {
                GUI.Label(iconRect, image, s_Styles.centerStyle);
            }
        }

Usage Example

Пример #1
0
        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::OnHeaderIconGUI