Как я могу определить, является ли игровой объект префаб-активом или экземпляром префаба в моей сцене?
Я попытался создать собственный редактор и выполнить
public override void OnInspectorGUI()
{
if (EditorUtility.IsPersistent(this.target))
{
Debug.Log("is persisent");
}
else
{
Debug.Log("is not persistent");
}
}
Но независимо от того, выбираю ли я сборный актив в представлении «Проект» или я выбираю готовый экземпляр в моей сцене, оба сценария печати «не являютсяpersistent "
Причина, по которой я это делаю, заключается в том, что я хочу иметь MonoBehaviour с полем Guid
, и MonoBehaviour должен генерировать уникальный GUID для себя, если он является частью игрового объекта в сцене, но оно должно оставить поле Guid
пустым, если оно входит в состав сборного ресурса (чтобы каждый экземпляр того же сборного объекта получал уникальный GUID).