Параметры
r | Прямоугольник, в котором нужно нарисовать превью. |
background | Фоновая картинка. |
Описание
Реализация для создания собственного интерактивного пользовательского предварительного просмотра. Интерактивные пользовательские предварительные просмотры используются в области предварительного просмотра инспектора и селектора объектов.
Реализуйте этот метод вместо OnPreviewGUI, чтобы отображать интерактивные настраиваемые предварительные просмотры. Вы можете реализовать оба метода, когда некоторые предварительные просмотры являются интерактивными, а другие нет. Переопределенный метод должен использовать переданный прямоугольник и отображать предварительный просмотр актива. Реализация по умолчанию не работает.
Примечание. Предварительный просмотр инспектора ограничен основным редактором постоянных объектов (ресурсов). Например, GameObjectInspector, MaterialEditor, TextureInspector и так далее. Это означает, что в настоящее время компонент не может иметь собственный предварительный просмотр инспектора.
using UnityEngine;
using UnityEditor;
// Создать окно редактора, в котором может отображаться выбранный GameObject.
// Используйте OnInteractivePreviewGUI для отображения GameObject и
// разрешить ему быть интерактивным.
public class ExampleClass: EditorWindow
{
GameObject gameObject;
Editor gameObjectEditor;
[MenuItem("Example/GameObjectEditor")]
static void ShowWindow()
{
GetWindowWithRect(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);
}
}
}