拓展编辑器 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章