Объявление
public static Object ObjectField(Rect position, Object obj, Type objType); Устаревший Проверьте документы на предмет использования нового параметра «allowSceneObjects».public static Object ObjectField(Rect position, string label, Object obj, Type objType); Устаревший Проверьте документы на предмет использования нового параметра «allowSceneObjects»..
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);
Параметры
position | Прямоугольник на экране использовать для поля. |
label | Необязательная метка перед полем. |
obj | Объект, который показывает поле. |
objType | Тип объектов, которые могут быть назначены. |
allowSceneObjects | Разрешить назначение объектов сцены. См. Описание для получения дополнительной информации. |
Возвращает
Object Объект, установленный пользователем.
Описание
Создает поле объекта. Вы можете назначать объекты, перетаскивая объекты или выбирая объект с помощью средства выбора объектов.
Убедитесь, что параметр allowSceneObjects имеет значение false, если ссылка на объект хранится как часть ресурса, поскольку ресурсы не могут хранить ссылки на объекты в сцене. Если ObjectField является частью пользовательского редактора для компонента скрипта, используйте EditorUtility.IsPersistent(), чтобы проверить, находится ли компонент в активе или объекте сцены. См. пример в классе Editor.

using UnityEditor;
using UnityEngine;
using System.Collections;
//Выбираем зависимости найденного 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");
}
}
Объявление
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);
Параметры
position | Прямоугольник на экране использовать для поля. |
property | Свойство ссылки на объект, которое показывает поле. |
objType | Тип объектов, которые могут быть назначены. |
label | Необязательная метка для отображения перед полем. Передайте GUIContent.none, чтобы скрыть метку. |
Описание
Создает поле объекта. Вы можете назначать объекты, перетаскивая объекты или выбирая объект с помощью средства выбора объектов.