Version: 2020.3

Editor.finishedDefaultHeaderGUI

切换到手册

描述

在绘制默认标题项之后,在绘制 Inspector 窗口的标题时引发的事件。

向此事件添加事件处理程序,以便在传递给事件处理程序方法的 Editor 的标题中绘制其他项。

如果所检查的对象是持久资源而不是场景对象,则以下示例脚本可将资源的 GUID 显示为标题中的可复制标签。将此示例脚本复制到名为 EditorHeaderGUID.cs 的文件中,然后将该文件放在名为 Editor 的文件夹中。

添加了自定义 GUID 控件的检视面板标题。

using UnityEditor;

[InitializeOnLoadAttribute] static class EditorHeaderGUID { static EditorHeaderGUID() { Editor.finishedDefaultHeaderGUI += DisplayGUIDIfPersistent; }

static void DisplayGUIDIfPersistent(Editor editor) { if (!EditorUtility.IsPersistent(editor.target)) return;

var guid = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(editor.target)); var totalRect = EditorGUILayout.GetControlRect(); var controlRect = EditorGUI.PrefixLabel(totalRect, EditorGUIUtility.TrTempContent("GUID")); if (editor.targets.Length > 1) EditorGUI.LabelField(controlRect, EditorGUIUtility.TrTempContent("[Multiple objects selected]")); else EditorGUI.SelectableLabel(controlRect, guid); } }