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

Parameters

position@param position Прямоугольник на экране, использующийся для текстового поля.
property@param property SerializedProperty, используемый контролом.
label@param label Необязательный текст перед слайдером. Передайте null, чтобы использовать имя из SerializedProperty. Используйте GUIContent.none, чтобы не отображать текст.
includeChildrenIf true the property including children is drawn; otherwise only the control itself (such as only a foldout but nothing below it).

Returns

bool True if the property has children and is expanded and includeChildren was set to false; otherwise false.

Description

Use this to make a field for a SerializedProperty in the Editor.

//Attach a script like this to the GameObject you would like to have a custom Editor window.

using UnityEngine;

public class MyScript : MonoBehaviour { public int myInt = 90; }
//Create a folder and name it “Editor” and place this second script within it. To do this right click within the Assets directory and go to Create>Folder
//Ensure you insert your first script’s name as a parameter in the CustomEditor e.g. [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(); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961