EditorUtility.CopySerializedManagedFieldsOnly

切换到手册
public static void CopySerializedManagedFieldsOnly (object source, object dest);

参数

source要从中复制数据的对象。
dest要将数据复制到的对象。

描述

在不同的托管对象之间复制可序列化的字段。

这类似于 CopySerialized,但您可以将它与任何两个托管对象一起使用,但同一个 Object 子类的两个实例除外。

CopyScriptManagedFieldsOnly 复制 Unity 序列化程序支持的所有字段。如果目标对象与源对象不在同一类中,则该函数按名称匹配字段,或者使用 FormerlySerializedAs 属性来匹配字段。该函数不会修改目标对象上不可序列化的字段,或在源对象中没有对应字段的字段。

如果源对象实现 ISerializationCallbackReceiver 接口,则在读取任何数据之前调用其 OnBeforeSerialize 方法。同样,如果目标对象实现 ISerializationCallbackReceiver,则在数据已经复制到其字段之后调用其 OnAfterDeserialize 方法。

CopyScriptManagedFieldsOnly 仅复制托管代码中定义的字段。这意味着,如果您尝试复制 TransformLight 等引擎对象,CopyScriptManagedFieldsOnly 将不会复制任何数据,因为它们的所有可序列化字段都是在本机代码中定义的。


Did you find this page useful? Please give it a rating: