Unity编辑器扩展

内容会持续更新,有错误的地方欢迎指正,谢谢!

对Unity进行扩展,开发一些工具、窗口,帮我们做一些重复的工作(创建一百个敌人),用工具来完成节约开发时间。

跟编辑器相关的代码都放在Editor文件夹中,打包时此文件夹不会被打包进游戏,只在编辑器中使用。

1.使用MenuItem添加菜单栏按钮(包括设置按钮所在的路径):脚本不是以组件的形式来存在的,所以不继承MonoBehaviour;加上using UnityEditor;;用Unity添加工具类 其实也是调用我们的方法。

[MenuItem("Tools/test/test1")]//Tools为根目录,test为次目录,test1就是所加的按钮
static void Test(){}
[MenuItem("Tools/test/test2")]//和test1同目录
static void Test(){}

2.也可以用MenuItem给已有根目录添加工具按钮:
[MenuItem(“Window/test/test1”)]

3.在Hierarchy面板中给组件添加右键按钮功能:
生成后的位置的先后顺序:由第三个参数决定,是priority,即优先度,默认1000,越小越靠前。相差11即在两者之间画一根直线区分板块)

[MenuItem("GameObject/list/LiST",false,1)]//优先级为1,排在靠前的位置
static void Test()
{
    Debug.Log("bs");
}

如此以后,在Hierarchy面板中右键后 亦可选择之。

4.在Project面板中给组件添加右键按钮功能:
[MenuItem("Assets/list/LiST",false,1)],右键即可

5.在Inspector面板中给组件添加右键按钮功能:

[MenuItem("CONTEXT/MeshRenderer/Print")]//CONTEXT 组件名 按钮名
static void InitHealthy()
{
    Debug.Log("666");
}

6.给添加的按钮添加快捷键:

[MenuItem("Tools/show _s")]//s就是快捷键,show是按钮名

7.在脚本中,使用ContextMenu为Inspector中脚本添加右键按钮功能:

public int startingHealth = 100;
[ContextMenu("hp")]
void hp()
{
    startingHealth += 20;
}

8.在脚本中,使用ContextMenuItem为Inspector中脚本添加右键某一行功能

[ContextMenuItem("add", "hp")]//第一个参数是按钮名,第二个是调用的方法名
public int startingHealth = 100;
void hp()
{
    startingHealth += 20;
}

还有新建窗口等功能,此处就不讲了,用到的时候查查就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值