传进场景中的物体 gameObject 判断其是否为预制体的根节点
//判断是否为预制体的根节点
public bool IsPrefabRoot(GameObject obj) {
if (PrefabUtility.IsAnyPrefabInstanceRoot(obj)) {
return true;
}
if (PrefabStageUtility.GetCurrentPrefabStage()?.prefabContentsRoot == obj) {
return true;
}
if (PrefabUtility.GetOutermostPrefabInstanceRoot(obj) == obj) {
return true;
}
if (PrefabUtility.IsPartOfAnyPrefab(obj)) {
return true;
}
return false;
}