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

EditorGUI.PropertyField

Объявление

public static bool PropertyField(Rect position, SerializedProperty property, bool includeChildren = false);

public static bool PropertyField(Rect position, SerializedProperty property, GUIContent label, bool includeChildren = false);

Параметры

position Прямоугольник на экране для использования в качестве поля свойства.
property SerializedProperty, для которого создается поле.
label Необязательный ярлык для использования. Если не указано, используется метка самого свойства. Используйте GUIContent.none, чтобы вообще не отображать метку.
includeChildren Если true, отрисовывается свойство, включая дочерние элементы; в противном случае только сам элемент управления (например, только раскладку, но ничего под ней).

Возвращает

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

Описание

Используйте это, чтобы создать поле для SerializedProperty в редакторе.

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

//Прикрепите подобный скрипт к GameObject, для которого вы хотите иметь собственное окно Editor. using UnityEngine; public class MyScript : MonoBehaviour { public int myInt = 90; } // Создайте папку и назовите ее «Editor» и поместите в нее этот второй скрипт. Для этого щелкните правой кнопкой мыши в каталоге «Активы» и выберите «Создать>Папку». //Убедитесь, что вы вставили имя своего первого скрипта в качестве параметра в CustomEditor, например. [Пользовательский редактор(typeof(MyScript))] using UnityEngine; using UnityEditor; // Custom Editor using SerializedProperties. // Make sure to put the name of the script on your GameObject in here [CustomEditor(typeof(MyScript))] // Automatic handling of multi-object editing, undo, and Prefab overrides. [CanEditMultipleObjects] public class EditorGUIPropertyField : Editor { SerializedProperty m_IntProperty; void OnEnable() { // Fetch the objects from the MyScript script to display in the inspector m_IntProperty = serializedObject.FindProperty("myInt"); } public override void OnInspectorGUI() { //The variables and GameObject from the GameObject script are displayed in the Inspector and have the appropriate label EditorGUI.PropertyField(new Rect(0, 300, 500, 30), m_IntProperty, new GUIContent("Int : ")); // Apply changes to the serializedProperty - always do this in the end of OnInspectorGUI. serializedObject.ApplyModifiedProperties(); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3