SerializedProperty
класс в UnityEditor
Описание
SerializedProperty и SerializedObject являются классами для редактирования свойств объектов полностью общим способом, который автоматически обрабатывает отмену, редактирование нескольких объектов и переопределения Префаб.
SerializedProperty в основном используется для чтения или изменения значения свойства. Он также может итерировать свойства объекта, используя NextДополнительные ресурсы: SerializedObject class, Editor class.
using UnityEngine; using UnityEditor;
public class MyObject : ScriptableObject { public int myInt = 42; }
public class SerializedPropertyTest : MonoBehaviour { void Start() { MyObject obj = ScriptableObject.CreateInstance<MyObject>(); SerializedObject serializedObject = new UnityEditor.SerializedObject(obj);
SerializedProperty serializedPropertyMyInt = serializedObject.FindProperty("myInt");
Debug.Log("myInt " + serializedPropertyMyInt.intValue); } }
Свойства
| Свойство | Описание |
|---|---|
| animationCurveValue | Значение свойства кривой анимации. |
| arrayElementType | Введите имя элемента в свойстве массива. (только для чтения) |
| arraySize | Количество элементов в массиве. |
| boolValue | Значение логического свойства. |
| boundsIntValue | Свойство Значение границ с целыми значениями. |
| boundsValue | Значение свойства границ. |
| boxedValue | Значение SerializedProperty, помещённое в поле System.Object. |
| colorValue | Значение свойства цвета. |
| contentHash | Предоставляет хэш-значение для свойства. (только для чтения) |
| depth | Глубина вложения свойства. (только для чтения) |
| displayName | Хорошее отображение имени свойства. (только для чтения) |
| doubleValue | Значение свойства float как double. |
| editable | Можно ли редактировать это свойство? (только для чтения) |
| entityIdValue | Значение свойства EntityId. |
| enumDisplayNames | Удобные для отображения имена элементов перечисления для свойства перечислимого типа. |
| enumNames | Имена элементов перечисления для свойства перечислимого типа. |
| enumValueFlag | Представление свойства перечислимого типа в виде Int32 при смешанных значениях. |
| enumValueIndex | Индекс элемента перечисления для свойства перечислимого типа. |
| exposedReferenceValue | Ссылка на другой Объект в Scene. Эта ссылка разрешается в контексте SerializedObject, содержащего SerializedProperty. |
| fixedBufferSize | Количество элементов в фиксированном буфере. (только для чтения) |
| floatValue | Значение свойства float. |
| gradientValue | Значение свойства градиента. |
| hasChildren | Имеет ли она дочерние свойства? (только для чтения) |
| hash128Value | Значение свойства Hash128. |
| hasMultipleDifferentValues | Представляет ли это свойство несколько различных значений из-за редактирования нескольких объектов? (только для чтения) |
| hasVisibleChildren | Имеет ли она видимые дочерние свойства? (только для чтения) |
| intValue | Значение целочисленного свойства. |
| isArray | Является ли это свойство массивом? (только для чтения) |
| isDefaultOverride | Позволяет проверить, является ли это свойство переопределением по умолчанию. Некоторые свойства экземпляров префабов являются переопределениями по умолчанию. Подробнее см. PrefabUtility.IsDefaultOverride. |
| isExpanded | Развернуто ли это свойство в инспекторе? |
| isFixedBuffer | Является ли это свойство фиксированным буфером? (только для чтения) |
| isInstantiatedPrefab | Является ли свойство частью экземпляра Префаб? (только для чтения) |
| longValue | Значение свойства integer как long. |
| managedReferenceFieldTypename | Строка, соответствующая значению полной строки типа управляемого поля ссылки. |
| managedReferenceFullTypename | Строка, соответствующая значению полной строки типа управляемого объекта ссылки (динамического). |
| managedReferenceId | Идентификатор, связанный с управляемой ссылкой. |
| managedReferenceValue | Объект, назначенный поле с атрибутом SerializeReference. |
| minArraySize | Наименьшее число элементов в массиве по всем целевым объектам. (только для чтения) |
| name | Название свойства. (только для чтения) |
| numericType | Возвращает точный тип для свойств Integer и Floating point. (только для чтения) |
| objectReferenceValue | Значение свойства ссылки на объект. |
| prefabOverride | Позволяет проверить, не переопределено ли значение свойства (i.e. отличается от Префаб, к которому оно принадлежит). |
| propertyPath | Полный путь свойства. (только для чтения) |
| propertyType | Тип этого свойства (только для чтения). |
| quaternionValue | Значение свойства кватерниона. |
| rectIntValue | Значение свойства прямоугольника с целочисленными значениями. |
| rectValue | Значение свойства прямоугольника. |
| serializedObject | SerializedObject это свойство принадлежит (только для чтения). |
| stringValue | Значение строкового свойства. |
| tooltip | Подсказка свойства. (только для чтения) |
| type | Введите имя свойства. (только для чтения) |
| uintValue | Значение свойства integer как int без знака. |
| ulongValue | Значение целочисленного свойства как беззнаковое число long. |
| vector2IntValue | Значение свойства целого вектора 2D. |
| vector2Value | Значение свойства вектора 2D. |
| vector3IntValue | Значение свойства целого вектора 3D. |
| vector3Value | Значение свойства вектора 3D. |
| vector4Value | Значение свойства 4D вектора. |
Открытые методы
| Метод | Описание |
|---|---|
| ClearArray | Удалить все элементы из массива. |
| Copy | Возвращает копию итератора SerializedProperty в его текущем состоянии. |
| CountInProperty | Подсчитать видимые дочерние объекты этого свойства, включая само свойство. |
| CountRemaining | Подсчет оставшихся видимых свойств. |
| DeleteArrayElementAtIndex | Удалить элемент с указанным индексом в массиве. |
| DeleteCommand | Удаляет элемент массива, на который ссылается SerializedProperty. |
| DuplicateCommand | Дублирует элемент массива, на который ссылается SerializedProperty. |
| FindPropertyRelative | Получает SerializedProperty относительно пути к текущему свойству. |
| GetArrayElementAtIndex | Возвращает элемент с указанным индексом в массиве. |
| GetEndProperty | Получает SerializedProperty, который определяет конечный диапазон этого свойства. |
| GetEnumerator | Получает итератор для перечисления над видимыми дочерними свойствами текущего свойства. Если свойство является массивом, то перечисление будет выполняться над элементами массива. |
| GetFixedBufferElementAtIndex | Возвращает элемент с указанным индексом в фиксированном буфере. |
| InsertArrayElementAtIndex | Вставляет новый элемент на указанном индексе в массиве. |
| MoveArrayElement | Перемещение элемента массива из srcIndex в dstIndex. |
| Next | Перейти к следующему свойству. |
| NextVisible | Перейти к следующему видимому свойству. |
| Reset | Перейти к первому свойству объекта. |
Статические методы
| Метод | Описание |
|---|---|
| DataEquals | Сравнивает данные для двух SerializedProperties. Этот метод игнорирует пути и SerializedObjects. |
| EqualContents | Проверить, равны ли содержащиеся сериализованные свойства. |