AssetEditingScope
класс в UnityEditor
Описание
Переводит базу данных ассетов в состояние, которое временно запрещает автоматический импорт, позволяя объединить несколько импортов ассетов в один более крупный.
Этот класс позволяет приостановить автоматический импорт новых или изменённых ассетов в Asset Database. Это удобно, когда вы хотите из скрипта внести сразу несколько изменений в ассеты, не запуская отдельный процесс импорта на каждое из них.
Вместо этого вы можете приостановить импорт, внести несколько изменений, а затем возобновить импорт, что означает, что Unity выполнит только один процесс ввода для всех изменений, которые вы внесли, когда импорт был приостановлен.
Этот класс является альтернативой AssetDatabase.StartAssetEditing и AssetDatabase.StopAssetEditing методы, которые служат одной и той же цели.
AssetEditingScope класс предназначен для использования внутри using оператор, который автоматически освобождает класс, как в следующем примере:
using UnityEngine; using UnityEditor;
public class AssetEditingScopeExample : MonoBehaviour { [MenuItem("APIExamples/AssetEditingScope")] static void CallAssetDatabaseAPIsBetweenAssetEditingScope() { // Place the Asset Database in a state where // importing is suspended for most APIs using (var editingScope = new AssetDatabase.AssetEditingScope()) { // Modify the assets however we like AssetDatabase.CopyAsset("Assets/CopyAsset.txt", "Assets/Text/CopyAsset.txt"); AssetDatabase.MoveAsset("Assets/MoveAsset.txt", "Assets/Text/MoveAsset.txt"); } // Assets will now be imported again, as editingScope has been disposed. } }
Если вы используете его в контексте, отличном от инструкции using, вы должны убедиться, что его метод Dispose() вызван, иначе база данных ассетов останется в приостановленном состоянии.
Дополнительные ресурсы: AssetDatabase.StartAssetEditing, AssetDatabase.StopAssetEditing.
Конструкторы
| Конструктор | Описание |
|---|---|
| AssetDatabase.AssetEditingScope | Создает экземпляр AssetEditingScope. Эквивалент вызову AssetDatabase.StartAssetEditing(). |
Открытые методы
| Метод | Описание |
|---|---|
| Dispose | Устраняет AssetEditingScope. Эквивалентно вызову AssetDatabase.StopAssetEditing(). |