版本: Unity 6 (6000.0)
语言英语
  • C#

AssetEditingScope

UnityEditor 中的类

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

将资源数据库置于一个状态,该状态暂时阻止自动导入,允许您将多个资源导入组合成一个更大的导入。

此类允许您暂停资源数据库对新资源或修改资源的自动导入。如果您想通过脚本执行对资源进行多次更改的操作,而无需资源数据库在单独的导入过程中导入每个更改,则此方法很有用。

相反,您可以暂停导入,进行多次更改,然后恢复导入,这意味着 Unity 将只对您在暂停导入时所做的所有更改执行一次输入过程。

此类是 AssetDatabase.StartAssetEditingAssetDatabase.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.StartAssetEditingAssetDatabase.StopAssetEditing.

构造函数

AssetDatabase.AssetEditingScope实例化 AssetEditingScope。等效于调用 AssetDatabase.StartAssetEditing()。

公共方法

Dispose处理 AssetEditingScope。等效于调用 AssetDatabase.StopAssetEditing()。