totalPosition | @param totalPosition Прямоугольник на экране, используемый для контрола, включая текст, если применимо. |
label | @param label Необязательный текст перед слайдером. Передайте null, чтобы использовать имя из SerializedProperty. Используйте GUIContent.none, чтобы не отображать текст. |
property | @param property SerializedProperty, используемый контролом. |
GUIContent @return Текущий текст, используемый для контрола.
Создает обертку для свойства, полезно для создания обычных контролов GUI, работающих с SerializedProperty.
Большинство GUI-контролов EditorGUI и EditorGUILayout уже имеют переопределения, работающие с SerializedProperty.
Однако, контролы GUI, которые не обрабатывают SerializedProperty, вы можете обернуть в BeginProperty и EndProperty, как показано в следующем примере.
Вы можете использовать это также для своих собственных контролов GUI.
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.