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