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