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); }
internal static Rect DrawHeaderGUI(Editor editor, string header, float leftMargin) { GUILayout.BeginHorizontal(BaseStyles.inspectorBig); GUILayout.Space(kImageSectionWidth - 6); GUILayout.BeginVertical(); GUILayout.Space(k_HeaderHeight); GUILayout.BeginHorizontal(); if (leftMargin > 0f) { GUILayout.Space(leftMargin); } if (editor) { editor.OnHeaderControlsGUI(); } else { EditorGUILayout.GetControlRect(); } GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndHorizontal(); Rect fullRect = GUILayoutUtility.GetLastRect(); // Content rect Rect r = new Rect(fullRect.x + leftMargin, fullRect.y, fullRect.width - leftMargin, fullRect.height); // Icon Rect iconRect = new Rect(r.x + 6, r.y + 6, 32, 32); if (editor) { editor.OnHeaderIconGUI(iconRect); } else { GUI.Label(iconRect, AssetPreview.GetMiniTypeThumbnail(typeof(UnityObject)), BaseStyles.centerStyle); } if (editor) { editor.DrawPostIconContent(iconRect); } // Help and Settings Rect titleRect; if (editor) { Rect helpAndSettingsRect = editor.DrawHeaderHelpAndSettingsGUI(r); float rectX = r.x + kImageSectionWidth; titleRect = new Rect(rectX, r.y + 6, (helpAndSettingsRect.x - rectX) - 4, 16); } else { titleRect = new Rect(r.x + kImageSectionWidth, r.y + 6, r.width - kImageSectionWidth, 16); } // Title if (editor) { editor.OnHeaderTitleGUI(titleRect, header); } else { GUI.Label(titleRect, header, EditorStyles.largeLabel); } // Context Menu Event evt = Event.current; if (editor != null && evt.type == EventType.MouseDown && evt.button == 1 && r.Contains(evt.mousePosition)) { EditorUtility.DisplayObjectContextMenu(new Rect(evt.mousePosition.x, evt.mousePosition.y, 0, 0), editor.targets, 0); evt.Use(); } return(fullRect); }
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); } 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 && !editor.IsEnabled() && 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; }