Editor.HasPreviewGUI
Declaration
public bool HasPreviewGUI();Возвращаемое значение
логическое True, если этот компонент можно просмотреть в текущем состоянии.
Описание
Переопределите этот метод в подклассах, если вы реализуете OnPreviewGUI.
С его помощью можно также включать и отключать предпросмотр в зависимости от целевого ассета. Реализация по умолчанию просто возвращает false, поэтому если вы переопределяете OnPreviewGUI вам необходимо переопределить и этот метод.
Примечание: Предварительные просмотры Inspector ограничены основным редактором постоянных объектов (ассетов), e.g., GameObjectInspector, MaterialEditor, TextureInspector. Это означает, что в настоящее время не возможно для компонента иметь свой собственный предварительный просмотр инспектора.
using UnityEngine; using UnityEditor;
public class GameObjectEditorWindow: EditorWindow { GameObject gameObject; Editor gameObjectEditor;
[MenuItem("Window/GameObject Editor")] static void ShowWindow() { GetWindow<GameObjectEditorWindow>("GameObject Editor"); }
void OnGUI() { gameObject = (GameObject) EditorGUILayout.ObjectField(gameObject, typeof(GameObject), true);
if (gameObject != null) { if (gameObjectEditor == null) gameObjectEditor = Editor.CreateEditor(gameObject);
gameObjectEditor.OnPreviewGUI(GUILayoutUtility.GetRect(500, 500), EditorStyles.whiteLabel); } } }