PrefabUtility.UnpackAllInstancesOfPrefab
Declaration
public static void UnpackAllInstancesOfPrefab(GameObject prefabRoot, PrefabUnpackMode unpackMode, InteractionMode action);Параметры
| Параметр | Описание |
|---|---|
| prefabRoot | Корневой GameObject ресурса Префаб используется для поиска всех экземпляров Префаб в открытых сценах, которые должны быть распакованы. |
| unpackMode | Разворачивать ли внешний корень или разворачивать полностью. |
| действия | Режим взаимодействия, используемый для этого действия. |
Описание
Распаковывает все экземпляры указанного корневого GameObject ассета Prefab во всех открытых сценах, заменяя каждый экземпляр содержимым ассета Prefab и сохраняя при этом все значения переопределений.
Экземпляры Префаб не будут распаковываться в закрытых сценах. Эта функция использует PrefabUtility.FindAllInstancesOfPrefab для определения, какие экземпляры разпаковать, и вызывает PrefabUtility.UnpackPrefabInstance для каждого экземпляра.
Разпаковка вызывает ArgumentException, если заданный объект не является корнем GameObject ассета Префаб.
using UnityEditor; using UnityEngine;
public class Example { public static void UnpackAllInstancesOfPrefab(string prefabPath) { var prefabAssetRoot = AssetDatabase.LoadMainAssetAtPath(prefabPath) as GameObject; if (prefabAssetRoot != null) { PrefabUtility.UnpackAllInstancesOfPrefab(prefabAssetRoot, PrefabUnpackMode.OutermostRoot, InteractionMode.UserAction); } } }