totalPosition | @param totalPosition Прямоугольник на экране, используемый для контрола, включая текст, если применимо. |
label | @param label Необязательный текст перед слайдером. Передайте null, чтобы использовать имя из SerializedProperty. Используйте GUIContent.none, чтобы не отображать текст. |
property | The SerializedProperty to use for the control. |
GUIContent The actual label to use for the control.
Создает обертку для свойства, полезно для создания обычных контролов GUI, работающих с SerializedProperty.
Most EditorGUI and EditorGUILayout GUI controls already have overloads that work with SerializedProperty.
However, for GUI controls that don't handle SerializedProperty you can wrap them inside BeginProperty and EndProperty as shown in the example below.
You can use this for your own custom GUI controls too.
BeginProperty и EndProperty автоматически обрабатывают текст по умолчанию, жирный шрифт для изменений в префабах, откат к префабу через контекстное меню и установку showMixedValue в true, если значения свойства отличаются при редактировании нескольких объектов.
// A slider function that takes a SerializedProperty function Slider (position : Rect, property : SerializedProperty, leftValue : float, rightValue : float, label : GUIContent) { label = EditorGUI.BeginProperty (position, label, property); EditorGUI.BeginChangeCheck (); var newValue = EditorGUI.Slider (position, label, property.floatValue, leftValue, rightValue); // Only assign the value back if it was actually changed by the user. // Otherwise a single value will be assigned to all objects when multi-object editing, // even when the user didn't touch the control. if (EditorGUI.EndChangeCheck ()) property.floatValue = newValue; EditorGUI.EndProperty (); }
See Also: EndProperty.