Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

EditorGUILayout.PropertyField

Объявление

public static bool PropertyField(SerializedProperty property, params GUILayoutOption[] options);

public static bool PropertyField(SerializedProperty property, GUIContent label, params GUILayoutOption[] options);

public static bool PropertyField(SerializedProperty property, bool includeChildren, params GUILayoutOption[] options);

public static bool PropertyField(SerializedProperty property, GUIContent label, bool includeChildren, params GUILayoutOption[] options);

Параметры

property SerializedProperty, для которого создается поле.
label Необязательный ярлык для использования. Если не указано, используется метка самого свойства. Используйте GUIContent.none, чтобы вообще не отображать метку.
includeChildren Если true, отрисовывается свойство, включая дочерние элементы; в противном случае только сам элемент управления (например, только раскладку, но ничего под ней).
options Необязательный список параметров макета, определяющих дополнительные свойства макета. Любые значения, переданные здесь, переопределяют настройки, определенные style.
Смотрите так же: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.

Возвращает

bool Значение true, если свойство имеет дочерние элементы и развернуто, а для параметра includeChildren установлено значение false; иначе ложно.

Описание

Создаёт поле для SerializedProperty.

Используйте это, если хотите настроить внешний вид параметров игрового объекта в Инспекторе. Используйте это для создания полей для сериализованных свойств. Дополнительные сведения о смене редактора см. в разделе Редактор.

Смотрите так же: SerializedProperty, SerializedObject.

//The scripts below show how to use a propertyField to change your editor. //Attach this first script to the GameObject that you would like to control. Add code in this script for any of the actions you require. using UnityEngine; public class MyGameObjectScript : MonoBehaviour { public int m_MyInt = 75; public Vector3 m_MyVector = new Vector3(20, 1, 0); public GameObject m_MyGameObject; } //This next script shows how to call upon variables from the "MyGameObject" Script (the first script) to make custom fields in the Inspector for these variables. using UnityEngine; using UnityEditor; // Custom Editor using SerializedProperties. // Automatic handling of multi-object editing, undo, and Prefab overrides. [CustomEditor(typeof(MyGameObjectScript))] [CanEditMultipleObjects] public class EditorGUILayoutPropertyField : Editor { SerializedProperty m_IntProp; SerializedProperty m_VectorProp; SerializedProperty m_GameObjectProp; void OnEnable() { // Fetch the objects from the GameObject script to display in the inspector m_IntProp = serializedObject.FindProperty("m_MyInt"); m_VectorProp = serializedObject.FindProperty("m_MyVector"); m_GameObjectProp = serializedObject.FindProperty("m_MyGameObject"); } public override void OnInspectorGUI() { //The variables and GameObject from the MyGameObject script are displayed in the Inspector with appropriate labels EditorGUILayout.PropertyField(m_IntProp, new GUIContent("Int Field"), GUILayout.Height(20)); EditorGUILayout.PropertyField(m_VectorProp, new GUIContent("Vector Object")); EditorGUILayout.PropertyField(m_GameObjectProp, new GUIContent("Game Object")); // Apply changes to the serializedProperty - always do this at the end of OnInspectorGUI. serializedObject.ApplyModifiedProperties(); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3