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, чтобы скрыть метку. |
Описание
Создает поле объекта. Объекты можно назначать либо путем перетаскивания объектов, либо путем выбора объекта с помощью Выборщика Объектов.