Объявление
public static void ApplyObjectOverride(Object instanceComponentOrGameObject, string assetPath, InteractionMode action);Параметры
instanceComponentOrGameObject | Применяемый объект экземпляра Prefab. |
assetPath | Путь Prefab Asset, к которому нужно применить. |
action | Режим взаимодействия для этого действия. |
Описание
Применяет все переопределенные свойства компонента экземпляра Prefab или GameObject к Prefab Asset по заданному пути ресурса.
Этот метод позволяет применять измененные значения свойств к существующему префабу. Он отражает функции редактора, описанные в руководстве пользователя здесь. Чтобы использовать этот метод, вы должны сначала изменить одно или несколько значений свойств в существующем экземпляре Prefab.
Если вы передаете GameObject в качестве параметра объекта, применяются только переопределения самого GameObject (такие как слой, тег и статические флаги); а не его компоненты или дочерние GameObjects. Если вы передаете компонент в качестве параметра объекта, применяются только переопределения этого компонента. Чтобы применить все переопределения Prefab, вы можете использовать PrefabUtility.ApplyPrefabInstance.
Измененные значения свойств в экземпляре Prefab представляют собой тип переопределения экземпляра. Применение измененных значений свойств к префабу означает, что измененные значения становятся частью префаб-актива и больше не переопределяются.
При применении измененных значений свойств к сборному активу необходимо указать путь к ресурсу в качестве параметра. Это связано с тем, что в некоторых ситуациях есть несколько возможных целей, к которым можно применить изменение. Например, если значения свойств были изменены в GameObject, который является частью вложенного префаба, вы можете применить изменение к внутреннему вложенный Prefab Asset или во внешний корневой Prefab Asset. Таким образом, указывая путь к активу, вы даете понять Unity, к какому префаб-активу должно быть применено изменение.
Подробнее о выборе целей применения можно прочитать в руководстве пользователя.
Смотрите так же: PrefabUtility.ApplyAddedComponent, PrefabUtility.ApplyAddedGameObject, PrefabUtility.ApplyPropertyOverride, PrefabUtility.ApplyRemovedComponent, PrefabUtility.ApplyPrefabInstance.