Объявление
public static Object ObjectField(Object obj, Type objType, bool allowSceneObjects, params GUILayoutOption[] options);public static Object ObjectField(string label, Object obj, Type objType, bool allowSceneObjects, params GUILayoutOption[] options);
public static Object ObjectField(GUIContent label, Object obj, Type objType, bool allowSceneObjects, params GUILayoutOption[] options);
Параметры
label | Необязательная метка перед полем. |
obj | Объект, который показывает поле. |
objType | Тип объектов, которые могут быть назначены. |
allowSceneObjects | Разрешить назначение объектов сцены. См. Описание для получения дополнительной информации. |
options | Необязательный список параметров макета, определяющих дополнительные свойства макета. Любые переданные здесь значения переопределяют настройки, заданные стилем .
Смотрите также: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight. |
Возвращает
Object Объект, установленный пользователем.
Описание
Создайте поле для получения объекта любого типа.
Вы можете назначать объекты либо путем перетаскивания, либо путем выбора объекта с помощью средства выбора объектов.
Убедитесь, что параметр allowSceneObjects имеет значение false, если ссылка на объект хранится как часть ресурса, поскольку ресурсы не могут хранить ссылки на объекты в сцене.
Если ObjectField является частью пользовательского редактора для компонента скрипта, используйте EditorUtility.IsPersistent(), чтобы проверить, находится ли компонент в активе или объекте сцены.
Для получения дополнительной информации см. пример в классе Editor.

// EditorScript, который быстро ищет страницу справки
// о выбранном Объекте.
//
// Если такой страницы в Руководстве нет, открывается форум Unity.
using UnityEditor;
using UnityEngine;
using System.Collections;
public class ExampleClass : EditorWindow
{
public Object source;
[MenuItem("Example/ObjectField Example _h")]
static void Init()
{
var window = GetWindowWithRect(new Rect(0, 0, 165, 100));
window.Show();
}
void OnGUI()
{
EditorGUILayout.BeginHorizontal();
source = EditorGUILayout.ObjectField(source, typeof(Object), true);
EditorGUILayout.EndHorizontal();
if (GUILayout.Button("Search!"))
{
if (source == null)
ShowNotification(new GUIContent("No object selected for searching"));
else if (Help.HasHelpForObject(source))
Help.ShowHelpForObject(source);
else
Help.BrowseURL("https://forum.unity3d.com/search.php");
}
}
}
Объявление
public static void ObjectField(SerializedProperty property, params GUILayoutOption[] options);public static void ObjectField(SerializedProperty property, GUIContent label, params GUILayoutOption[] options);
public static void ObjectField(SerializedProperty property, Type objType, params GUILayoutOption[] options);
public static void ObjectField(SerializedProperty property, Type objType, GUIContent label, params GUILayoutOption[] options);
Параметры
property | Свойство ссылки на объект, которое показывает поле. |
objType | Тип объектов, которые могут быть назначены. |
label | Необязательная метка перед полем. Передайте GUIContent.none, чтобы скрыть метку. |
options | Необязательный список параметров макета, определяющих дополнительные свойства макета. Любые переданные здесь значения переопределяют настройки, заданные стилем Смотрите так же: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight. |
Описание
Создаёт поле для получения объекта любого типа.
Устарело