Объявление
public static void CopySerializedManagedFieldsOnly(object source, object dest);Параметры
source | Объект, из которого копируются данные. |
dest | Объект для копирования данных. |
Описание
Копирует сериализуемые поля из одного управляемого объекта в другой.
Это похоже на CopySerialized, но вы можете использовать его с любыми двумя управляемыми объектами, а не с двумя экземплярами одного и того же подкласса Object.
CopyScriptManagedFieldsOnly
копирует все поля, поддерживаемые сериализатором Unity. Если целевой объект не относится к тому же классу, что и исходный объект, функция сопоставляет поля по имени или с помощью атрибута FormerlySerializedAs. Функция не изменяет какие-либо поля целевого объекта, которые не сериализуемы или не имеют соответствующих полей в исходном объекте.
Если исходный объект реализует интерфейс ISerializationCallbackReceiver, то его метод OnBeforeSerialize вызывается до считывания каких-либо данных. Аналогичным образом, если целевой объект реализует ISerializationCallbackReceiver, его метод OnAfterDeserialize вызывается после того, как данные будут скопированы в его поля.
CopyScriptManagedFieldsOnly
копирует только поля, определенные в управляемом коде. Это означает, что если вы попытаетесь скопировать объекты механизма, такие как Transform или Light, CopyScriptManagedFieldsOnly
не копирует никаких данных, так как все их сериализуемые поля определены в собственном коде.