扩展UnityEditor窗口


创建一个UnityEditor扩展窗体

创建打开窗体开关

因为自定义窗体并不是默认打开的,所以我们需要为自定义窗体定义一个打开开关。

参考代码如下

[MenuItem("WinTest/Open")]
public static void OpenWinTest() {
	//获取窗体实例
    var w = EditorWindow.GetWindow(typeof(WinTest),false,"WinTest",true);
    //打开窗体实例
    w.Show();
}

创建窗体类型

  • 窗体类型必须继承自 EditorWindow 类型
继承自
EditorWindow
CustomEditorWin
public class WinTest : EditorWindow
{
}
  • 主要的实现方法

Awake():窗体创建时调用一次,可以用来加载一些东西,和做窗口的初始化
OnGUI():窗体内容的绘制方法,用于绘制窗体内容

    private void Awake()
    {
        t = Resources.Load("Pngs/ChildPlayWater") as Texture;
        Debug.Log("awake WinTest");
    }
    private void OnGUI()
    {
        GUILayout.Label("Hello Unity Editor,I extend you now",EditorStyles.boldLabel);
        if (GUILayout.Button("ButtonOne")) {
            Debug.Log($"Echo..iData:{iData}");
        }
        iData = EditorGUILayout.IntField("iData",iData);
        iRange = EditorGUILayout.IntSlider("iRange",iRange,1,1000);
        t = EditorGUILayout.ObjectField("选择贴图",t,typeof(Texture),true) as Texture;
        EditorGUI.DrawRect(new Rect(50, 350, 70, 70), Color.green);
        EditorGUI.DrawPreviewTexture(new Rect(150, 350, 300, 300),t);
    }

自定窗体的绘制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值