Unity编辑器拓展
Editor
该文件夹可以放在项目的任何文件夹下,可以有多个"Editor"文件夹。
编辑器扩展相关的脚本都要放在该文件夹内,该文件夹中的脚本只会对Unity编辑器起作用。
项目打包的时候,不会被打包到项目中。如果编辑器相关脚本不放在该文件夹中,打包项目可能会出错。
如果非要有些编辑器相关脚本不放在该文件夹中,需要在该类的前后加上UNITY_EDITOR的宏定义
Editor Default Resources
该文件夹需要放在Assets根目录下,用来存储编辑器所需要的图片等资源,书写的时候需要注意中间有空格隔开。此文件夹也不会被打包,访问方法为:EditorGUIUtility.Load()
当然,也可以在Editor文件夹内创建一个Resources文件夹,将相关资源放在该文件夹内,通过Resources.Load()获取资源,也是可以的
Gizmos
该文件夹也需要放在Assets根目录下,可以用来存放Gizmos.DrawIcon()的图片资源
编辑器扩展的命名空间:
Using UnityEditor
举例
在方法上面加上MenuItem(“第一层名称/方法名”)
public class PlayerEditor
{
[MenuItem("Tools/test")]
static void test()
{
Debug.Log("xxxx");
}
}
编译完成后
在工具栏出现Tools项 下面被添加了刚刚加的test方法
举例2
public class PlayerEditor
{
[MenuItem("CONTEXT/MyCanSeeObject/Testfangfa")]
static void Testfangfa(MenuCommand cmd)
{
MyCanSeeObject my = (MyCanSeeObject)cmd.context;
Debug.Log("Init");
}
}
如果想在某个脚本上调用这类方法,就加上[MenuItem(“CONTEXT/脚本名/方法名”)]
如图 在脚本上右击显示了我刚写的方法