Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

EditorGUI.BeginProperty

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство
public static function BeginProperty(totalPosition: Rect, label: GUIContent, property: SerializedProperty): GUIContent;
public static GUIContent BeginProperty(Rect totalPosition, GUIContent label, SerializedProperty property);

Параметры

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.