Inspector 窗口下方的 preview 窗口也可以擴展,繪製自己的 GUI。
方法:繼承 ObjectPreview,並聲明 [CustomPreview(typeof(GameObject))]。
using UnityEngine;
using UnityEditor;
/// <summary>
/// 擴展選中對象後的預覽窗口
/// </summary>
[CustomPreview(typeof(GameObject))]
public class ObjectPreviewExtend : ObjectPreview
{
public override bool HasPreviewGUI()
{
GameObject go = Selection.activeGameObject;
// 可以根據對象判斷是否需要顯示
return true;
}
public override void OnPreviewGUI(Rect r, GUIStyle background)
{
Texture tex = AssetDatabase.LoadAssetAtPath<Texture>("Assets/unity.png");
if(tex != null)
GUI.DrawTexture(r, tex);
GUILayout.Label("Hello world!");
if(Selection.activeGameObject)
GUILayout.Label(Selection.activeGameObject.name);
//base.OnPreviewGUI(r, background);
}
}