Unity为开发者们提供了很方便的扩展功能,编辑器扩展主要可以用于在Unity界面中添加属于自己的菜单、插件。有时可以大大的提高开发效率。
用于编辑器扩展的脚本都放在Editor文件夹中,此文件夹中的资源不会在项目发布时候打包。
在使用扩展功能时,需要引用UnityEditor命名空间
在菜单栏中的扩展可以自己新创,也可以加在已有的菜单里面。
using UnityEditor; //编辑器的命名空间
public class Tools { //不需要继承nonbehavioral
[MenuItem("MyTools/Test1")] //让其显示在菜单栏MyTools-Test1下,MyTest1方法表示要做的工作
//放在其下面的方法代表调用这个。上面写的是路径名字
static void MyTest1() //只有静态方法可以使用MenuItem属性
{
Debug.Log("扩展1");
}
}
[MenuItem("MyTools/Test1",false,1)]
第一个参数表示在菜单栏的位置
第二个参数下面会提到。
第三个参数表示优先级,默认为1000。优先级越大越靠下面,优先级相差>10时,会出现分隔符
[MenuItem("MyTools/Test1 %t",false,11)]
在第一个参数后面加空格然后写要加的快捷键。
此例就代表快捷键为 Ctrl+t
% == Ctrl
# == Shift
& == alt
Hierarchy视图右键下的基本都是GameObject菜单第一层分割线之上的扩展。
那么只要把扩展放在第一层的分割线之上不就行了。
优先级为11则刚好在第一层分割线的最后一个。
[MenuItem("GameObject/Test1",false,11)]
原文:https://www.cnblogs.com/Fflyqaq/p/10620087.html