source | 要从中复制数据的对象。 |
dest | 要将数据复制到的对象。 |
在不同的托管对象之间复制可序列化的字段。
这类似于 CopySerialized,但您可以将它与任何两个托管对象一起使用,但同一个 Object 子类的两个实例除外。CopyScriptManagedFieldsOnly
复制 Unity 序列化程序支持的所有字段。如果目标对象与源对象不在同一类中,则该函数按名称匹配字段,或者使用 FormerlySerializedAs 属性来匹配字段。该函数不会修改目标对象上不可序列化的字段,或在源对象中没有对应字段的字段。
如果源对象实现 ISerializationCallbackReceiver 接口,则在读取任何数据之前调用其 OnBeforeSerialize 方法。同样,如果目标对象实现 ISerializationCallbackReceiver,则在数据已经复制到其字段之后调用其 OnAfterDeserialize 方法。CopyScriptManagedFieldsOnly
仅复制托管代码中定义的字段。这意味着,如果您尝试复制 Transform 或 Light 等引擎对象,CopyScriptManagedFieldsOnly
将不会复制任何数据,因为它们的所有可序列化字段都是在本机代码中定义的。