SerializedProperty.isExpanded
Declaration
public bool isExpanded;Описание
Развернуто ли это свойство в инспекторе?
Сериализированные свойства с дочерними свойствами (e.g., массивы, настраиваемые структуры, поддающиеся серийизации, или настраиваемые классы, поддающиеся серийизации) могут быть либо развернуты, либо свернуты в инспекторе для отображения или сокрытия их дочерей. В следующем примере отображается примечание в инспекторе, когда пользователи разворачивают свойство Quaternion.
using UnityEditor; using UnityEngine;
[CustomPropertyDrawer(typeof(Quaternion))] public class QuaternionDrawer : PropertyDrawer { public override float GetPropertyHeight(SerializedProperty property, GUIContent label) { // use the default property height, which takes into account the expanded state return EditorGUI.GetPropertyHeight(property); }
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { // draw the default property editor EditorGUI.PropertyField(position, property, label, true);
// display a warning to discourage users from manually editing child properties on a quaternion if (property.isExpanded) { position.height = EditorGUIUtility.singleLineHeight; position.xMin += EditorGUIUtility.labelWidth; EditorGUI.HelpBox(position, "Editing quaternions manually is inadvisable.", MessageType.Warning); } } }
Отображение сообщения при развертывании свойства Quaternion.
Обратите внимание, что значение этого флага распространяется на все экземпляры соответствующего серийизованного свойства, имеющие один и тот же путь свойства и тип объекта. Например, сжатие определенного свойства в инспекторе для компонента приведет к сжатию этого же свойства в инспекторе для всех других экземпляров того же типа компонента.