Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

PrefabUtility.ApplyPropertyOverride

Объявление

public static void ApplyPropertyOverride(SerializedProperty instanceProperty, string assetPath, InteractionMode action);

Параметры

instanceProperty Объект SerializedProperty, представляющий применяемое свойство.
assetPath Путь Prefab Asset, к которому нужно применить.
action Режим взаимодействия для этого действия.

Описание

Применяет одно переопределенное свойство экземпляра Prefab к Prefab Asset по заданному пути к активу.

Этот метод позволяет применить одно измененное значение свойства к существующему сборному ресурсу. Он отражает функции редактора, описанные в руководстве пользователя здесь. Чтобы использовать этот метод, вы должны сначала изменить значение свойства в существующем экземпляре Prefab.

Измененные значения свойств в экземпляре Prefab представляют собой тип переопределения экземпляра. Применение измененного значения свойства к префабу означает, что измененное значение становится частью актива префаба и больше не является переопределением экземпляра префаба.

При применении измененного значения свойства к сборному активу необходимо указать путь к ресурсу в качестве параметра. Это связано с тем, что в некоторых ситуациях есть несколько возможных целей, к которым можно применить изменение. Например, если значение свойства было изменено в GameObject, который является частью вложенного префаба, вы можете применить изменение к внутреннему вложенный Prefab Asset или во внешний корневой Prefab Asset. Таким образом, указывая путь к активу, вы даете понять Unity, к какому префаб-активу должно быть применено изменение.

Подробнее о выборе целей применения можно прочитать в руководстве пользователя.

Обратите внимание, что с помощью этого метода вы можете применить переопределяющие свойства по умолчанию, в отличие от других методов применения, которые не будут применять переопределяющие свойства по умолчанию.

Если свойство является элементом массива, а соответствующий элемент массива не существует в сборном ресурсе, поскольку там массив короче, ApplyPropertyOverride применяет весь массив. Если для параметра InteractionMode задано значение UserAction, Unity показывает диалоговое окно с вариантами продолжения или отмены.

Смотрите так же: PrefabUtility.ApplyAddedComponent, PrefabUtility.ApplyAddedGameObject, PrefabUtility.ApplyRemovedComponent, PrefabUtility.ApplyPrefabInstance.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3