我非常新的延長統一編輯,並拼湊起來的這個腳本,突出層次結構中選擇的對象。 問題是,當我在編輯器中並且堆棧頂部(場景名稱)進入樹中時,整個層次結構變得不可見!當我向下滾動以便場景名稱不再出現時,它會自行修復。我附上了圖片,讓您更清楚地瞭解發生了什麼。當我有一堆對象時,這個問題很小,但在新場景中將無法使用。問題與擴展編輯器來突出層次
[InitializeOnLoad]
public class HierarchyHighlighter
{
static HierarchyHighlighter()
{
EditorApplication.hierarchyWindowItemOnGUI += HierarchyWindowItem_CB;
}
private static void HierarchyWindowItem_CB(int selectionID, Rect selectionRect)
{
Object o = EditorUtility.InstanceIDToObject(selectionID);
if ((o as GameObject).GetComponent<HierarchyHighlighterComponent>() != null)
{
HierarchyHighlighterComponent h = (o as GameObject).GetComponent<HierarchyHighlighterComponent>();
if (h.highlight)
{
if (Event.current.type == EventType.Repaint)
{
GUI.backgroundColor = h.color;
GUI.Box(selectionRect, "");
GUI.backgroundColor = Color.white;
EditorApplication.RepaintHierarchyWindow();
}
}
}
}
}
控制檯讀取: 「對象引用不設置爲一個對象的一個實例」 HierarchyHighlighter.HierarchyWindowItem_CB(的Int32 selectionID,矩形selectionRect)(在資產/ HierarchyHighlighter.cs:18)
謝謝您的幫助!