Editor.OnInteractivePreviewGUI
Declaration
public void OnInteractivePreviewGUI(Rect r, GUIStyle background);Параметры
| Параметр | Описание |
|---|---|
| r | Прямоугольник, в котором будет выполнен предварительный просмотр. |
| Справочная информация | Фоновое изображение. |
Описание
Реализация для создания собственного интерактивного пользовательского предварительного просмотра. Интерактивные пользовательские предварительные просмотры используются в области предварительного просмотра инспектора и выборщика объектов.
Реализуйте этот метод, вместо OnPreviewGUI, для отображения интерактивных пользовательских предварительных просмотров. Вы можете реализовать оба метода, когда некоторые предварительные просмотры интерактивны, а другие нет. Метод overidden должен использовать переданный прямоугольник и отображать предварительный просмотр ассета. Реализация по умолчанию является no-op.
Примечание: Inspector предварительные просмотры ограничены основным редактором постоянных объектов (ассетов). Например, GameObjectInspector, MaterialEditor, TextureInspector и так далее. Это означает, что в настоящее время не возможно для компонента иметь свой собственный предварительный просмотр инспектора.
using UnityEngine; using UnityEditor;
// Create an editor window which can display a chosen GameObject. // Use OnInteractivePreviewGUI to display the GameObject and // allow it to be interactive.
public class ExampleClass: EditorWindow { GameObject gameObject; Editor gameObjectEditor;
[MenuItem("Example/GameObject Editor")] static void ShowWindow() { GetWindowWithRect<ExampleClass>(new Rect(0, 0, 256, 256)); }
void OnGUI() { gameObject = (GameObject) EditorGUILayout.ObjectField(gameObject, typeof(GameObject), true);
GUIStyle bgColor = new GUIStyle(); bgColor.normal.background = EditorGUIUtility.whiteTexture;
if (gameObject != null) { if (gameObjectEditor == null) gameObjectEditor = Editor.CreateEditor(gameObject);
gameObjectEditor.OnInteractivePreviewGUI(GUILayoutUtility.GetRect(256, 256), bgColor); } } }