1.Inspector :写在继承自 MonoBehaviour 里 方便测试调用
[ContextMenu ("方法名")]
public void XXX()
{
//内容
}
在Inspector 面板 脚本右上角 展开找到自定义方法 运行时调用
2.编辑器菜单栏 继承自 Editor 要放在Editor文件夹下
[MenuItem("Tools/SelectGameObjectsReplaceShader")] //菜单栏路径 方法必须静态
static void SelectGameObjects()
{
}
(1)Selection.activeGameObject 场景Inspector 选中的物体 可以获取选中及子物体所有的组件 用于查找 替换 或者 Selection.objects
(2)结合编辑器 窗口相关功能 打开窗口搞事情 可以参考 Unity3D编辑器的使用及扩展 https://www.cnblogs.com/zhonghu/p/11102775.html
3.Hierarchy面板上 选中物体 右键方法调用:参考雨松大大 的
Unity3D研究院编辑器之重写Hierarchy的右键菜单(二十二) https://www.xuanyusong.com/archives/3893 2016年02月02日 于 雨松MOMO程序研究院 发表
注意:(1)
[InitializeOnLoadMethod]
static void StartInitializeOnLoadMethod()
{
//EditorApplication.hierarchyWindowItemOnGUI += OnHierarchyGUI;//注释的话 就不会被覆盖
}
(2)[MenuItem("GameObject/我的/Test/二级/Test2", priority = 0)] MenuItem 第一个路径 为“GameObject”就可以 选中物体 右键调用方法,在上边的菜单栏 GameObject也能找到
再 结合 Selection.activeGameObject/Selection.objects 就可以对其及子物体进行操作了
4.Project窗口 [MenuItem("Assets/Svn Commit")] MenuItem 第一个路径 为“Assets”。对于文件夹操作 API不用Selection.objects 而是要用 Selection.assetGUIDs
可以参考 在Unity Project面板右键菜单的拓展 : https://blog.csdn.net/gaobiejiyi/article/details/77481730 挺详细的
以上功能 基于 unity 测试版本:Unity 2019.4.12f1 (64-bit)