拓展編輯器 8 - PreviewView

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);
    }
}


發佈了49 篇原創文章 · 獲贊 2 · 訪問量 2612
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章