Unity 6.3
0 онлайн 83 гостей 3 в системе
Вход

EditorUtility.CopySerializedManagedFieldsOnly

Declaration

public static void CopySerializedManagedFieldsOnly(object source, object dest);

Параметры

Параметр Описание
источник Объект, из которого будут копироваться данные.
рука Объект для копирования данных.

Описание

Копирует поля, поддающиеся серийному кодированию, из одного управляемого объекта в другой.

Этот метод похож на CopySerialized, но его можно использовать с любыми двумя управляемыми объектами, а не только с двумя экземплярами одного и того же подкласса Object.

CopySerializedManagedFieldsOnly копирует все поля, поддерживаемые сериализатором Unity. Если объект-приёмник относится к другому классу, чем объект-источник, функция сопоставляет поля по имени или по атрибуту FormerlySerializedAs. Поля объекта-приёмника, которые не сериализуются или которым нет соответствия в объекте-источнике, функция не изменяет.

Если исходный объект реализует ISerializationCallbackReceiver интерфейс, то перед чтением данных вызывается его метод OnBeforeSerialize. Точно так же, если объект-приёмник реализует ISerializationCallbackReceiver, то его метод OnAfterDeserialize вызывается после того, как данные были скопированы в его поля.

CopySerializedManagedFieldsOnly копирует только поля, определенные в управляемом коде. Это означает, что если вы попытаетесь скопировать объекты движка, такие как Transform или Light, CopySerializedManagedFieldsOnly не копирует никаких данных, поскольку все их сериализированные поля определены в собственном коде.