Version: 2020.1
public static void SetDirty (Object target);

参数

target 标记为“脏”的对象。

描述

target 对象标记为“脏”(仅适用于非场景对象)。

注意:''对于 Unity 5.3 之前的版本,这是将对象标记为“脏”的主要方法。从 Unity 5.3 版本开始,我们引入了多场景编辑功能,此函数不再用于修改场景中的对象。您应在更改对象之前改用 Undo.RecordObject。这会将对象的场景标记为“脏”,并在编辑器中提供撤销条目。''

如果要修改场景中的文件但不添加撤销条目,请使用 EditorSceneManager.MarkSceneDirty

在使用自定义编辑器修改组件或资源中的序列化属性时,还可以使用 SerializedObject.FindPropertySerializedObject.UpdateEditorGUILayout.PropertyFieldSerializedObject.ApplyModifiedProperties。修改后,组件或资源将标记为“脏”并具有已创建的撤销状态。

唯一剩下的用法(很少使用)是使用其他方法修改非场景对象并且不添加撤销条目。不太可能使用这种方法。

Unity 使用“脏”标志在内部查找必须保存到磁盘的已更改资源。

另请参阅:GetDirtyCountIsDirty