position | 屏幕上用于字段的矩形。 |
label | (可选)字段前的标签。 |
obj | 字段显示的对象。 |
objType | 可以分配的对象类型。 |
allowSceneObjects | Allow assigning Scene objects. See Description for more info. |
Object 用户已设置的对象。
Makes an object field. You can assign objects either by drag and drop objects or by selecting an object using the Object Picker.
Ensure that the allowSceneObjects parameter is false if the object reference is stored as part of an asset, since assets can't store references to objects in a Scene.
If the ObjectField is part of a custom Editor for a script component, use EditorUtility.IsPersistent() to check if the component is on an asset or a Scene object.
See example in Editor class.
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 可隐藏标签。 |
Makes an object field. You can assign objects either by drag and drop objects or by selecting an object using the Object Picker.