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

ManagedReferenceUtility.SetManagedReferenceIdForObject

Declaration

public static bool SetManagedReferenceIdForObject(Object obj, object scriptObj, long refId);

Параметры

Параметр Описание
hostObj Объект "host", поддерживающий SerializeReference. Например, MonoBehaviour или ScriptableObject.
refObj Объект C#, которому будет назначен Id ссылки.
refId Положительное число от 0 до Int64.MaxValue. Этот идентификатор управляемой ссылки не может быть использован другим объектом на том же объекте узла. Вы можете повторно использовать один и тот же идентификатор управляемой ссылки на разных узлах.

Возвращаемое значение

логическое Возвращает true, если Id был успешно установлен на false, в противном случае возвращает false.

Описание

Назначает управляемый идентификатор ссылки объекту, на который делается ссылка с помощью SerializeReference на указанном узле.

При обычном использовании не обязательно использовать этот метод. По умолчанию Unity Editor автоматически генерирует уникальный id для объекта при его первой сериализации.

Если вы используете этот метод, он должен быть вызван после создания объекта ссылки и до следующей сериализации объекта хоста, который на него ссылается. Если объект не ссылается при сериализации объекта хоста, Unity обрезает объект и отбрасывает присвоенный ему Id. Объект считается "ссылаемым", если он напрямую назначен хотя бы одному из полей объекта хоста, или если на него ссылаются косвенно через поля других объектов ссылки.

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

Дополнительные ресурсы: GetManagedReferenceIdForObjectGetManagedReference, SerializeReference, SerializedProperty.managedReferenceId.