我非常新的延长统一编辑,并拼凑起来的这个脚本,突出层次结构中选择的对象。 问题是,当我在编辑器中并且堆栈顶部(场景名称)进入树中时,整个层次结构变得不可见!当我向下滚动以便场景名称不再出现时,它会自行修复。我附上了图片,让您更清楚地了解发生了什么。当我有一堆对象时,这个问题很小,但在新场景中将无法使用。问题与扩展编辑器来突出层次
[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)
谢谢您的帮助!