position | 屏幕上用于字段的矩形。 |
label | (可选)字段前的标签。 |
obj | 字段显示的对象。 |
objType | 可以分配的对象类型。 |
allowSceneObjects | 允许分配场景对象。有关更多信息,请参阅“说明”。 |
Object 用户已设置的对象。
创建一个对象字段。您可以通过拖放对象或使用对象选择器选择对象来分配对象。
当对象引用作为资源的一部分进行存储时,请确保 allowSceneObjects 参数为 false,因为资源无法存储对场景中对象的引用。
如果 ObjectField 是脚本组件的自定义编辑器的一部分,请使用 EditorUtility.IsPersistent() 检查该组件是位于资源还是场景对象中。
请参阅 Editor 类中的示例。
Object field in an Editor Window.
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");
}
}
position | 屏幕上用于字段的矩形。 |
property | 字段显示的对象引用属性。 |
objType | 可以分配的对象类型。 |
label | (可选)显示在字段前的标签。传递 GUIContent.none 可隐藏标签。 |
创建一个对象字段。您可以通过拖放对象或使用对象选择器选择对象来分配对象。