Unity 6.3
0 онлайн 2 гостей 3 в системе
Вход

EditorGUI.ObjectField

Declaration

Obsolete public static Object ObjectField(Rect position, Object obj, Type objType);
Obsolete public static Object ObjectField(Rect position, string label, Object obj, Type objType);
Obsolete public static Object ObjectField(Rect position, GUIContent label, Object obj, Type objType);
public static Object ObjectField(Rect position, Object obj, Type objType, bool allowSceneObjects);
public static Object ObjectField(Rect position, string label, Object obj, Type objType, bool allowSceneObjects);
public static Object ObjectField(Rect position, GUIContent label, Object obj, Type objType, bool allowSceneObjects);

Параметры

Параметр Описание
должность Прямоугольник на экране, который будет использоваться для поля.
метка Факультативный знак перед полем.
Объект Объект, который показывает поле.
objType Тип объектов, которые можно назначить.
allowSceneObjects Разрешить назначение Scene объектов. Подробнее см. Описание.

Возвращаемое значение

Объект Объект, который был установлен пользователем.

Описание

Создает поле объекта. Объекты можно назначать либо путем перетаскивания объектов, либо путем выбора объекта с помощью Выборщика Объектов.

Обеспечить, чтобы allowSceneObjects параметр false, если ссылка на объект хранится как часть ассета, так как ассеты не могут хранить ссылки на объекты в Scene.
Если ObjectField является частью пользовательского редактора для компонента скрипта, используйте EditorUtility.IsPersistent(), чтобы проверить, находится ли компонент на ассете или на объекте Scene.
См. пример в Editor class.


Поле объекта в окне редактора.

using UnityEditor;
using UnityEngine;
using System.Collections;

//Select the dependencies of the found GameObject public class EditorGUIObjectField : EditorWindow { public GameObject obj = null; [MenuItem("Examples/Select Dependencies")] static void Init() { UnityEditor.EditorWindow window = GetWindow(typeof(EditorGUIObjectField)); window.position = new Rect(0, 0, 250, 80); window.Show(); }

void OnInspectorUpdate() { Repaint(); }

void OnGUI() { obj = (GameObject)EditorGUI.ObjectField(new Rect(3, 3, position.width - 6, 20), "Find Dependency", obj, typeof(GameObject)); if (obj) { if (GUI.Button(new Rect(3, 25, position.width - 6, 20), "Check Dependencies")) { Selection.objects = EditorUtility.CollectDependencies(new GameObject[] {obj}); }

else { EditorGUI.LabelField(new Rect(3, 25, position.width - 6, 20), "Missing:", "Select an object first"); } } } }

Declaration

public static void ObjectField(Rect position, SerializedProperty property);
public static void ObjectField(Rect position, SerializedProperty property, GUIContent label);
public static void ObjectField(Rect position, SerializedProperty property, Type objType);
public static void ObjectField(Rect position, SerializedProperty property, Type objType, GUIContent label);

Параметры

Параметр Описание
должность Прямоугольник на экране, который будет использоваться для поля.
свойство Свойство ссылки на объект, которое показывает поле.
objType Тип объектов, которые можно назначить.
метка Необязательная метка для отображения перед полем. Передайте GUIContent.none, чтобы скрыть метку.

Описание

Создает поле объекта. Объекты можно назначать либо путем перетаскивания объектов, либо путем выбора объекта с помощью Выборщика Объектов.