Lesson1 - 自定义菜单栏拓展

Editor 特殊文件夹

所有使用 UnityEditor 命名空间的脚本必须放在 Assets/Editor 文件夹中。这个文件夹中的代码不会被打入游戏包,避免打包时报错。

在静态方法前添加 [MenuItem("路径")] 特性可在编辑器菜单创建自定义菜单项。

顶级菜单栏

1
2
3
4
[MenuItem("Unity编辑器拓展/Lesson1/TestFun")]
private static void TestFun() {
Debug.Log("菜单被点击");
}

Hierarchy 窗口右键菜单

1
2
3
4
[MenuItem("GameObject/Lesson1/TestFun")]
private static void TestFun2() {
Debug.Log("TestFun2");
}

Project 窗口右键菜单

1
2
3
4
[MenuItem("Assets/Lesson1/TestFun")]
private static void TestFun3() {
Debug.Log("TestFun3");
}

Inspector 脚本右键菜单

1
2
3
4
[MenuItem("CONTEXT/脚本类名/菜单项名")]
private static void TestFun4() {
Debug.Log("TestFun4");
}

添加快捷键

菜单路径后添加快捷键符号实现快捷操作。

符号含义

  • % 表示 Ctrl
  • # 表示 Shift
  • & 表示 Alt

快捷键语法

单按键:[MenuItem("菜单/项 _A")] 表示按 A 键触发

组合键:[MenuItem("菜单/项 %#&A")] 表示 Ctrl+Shift+Alt+A 触发

支持的特殊按键

LEFT、RIGHT、UP、DOWN、F1-F12、HOME、END、PGUP、PGDN

AddComponentMenu 特性

为继承 MonoBehaviour 的脚本添加,允许通过 Component 菜单直接添加脚本。

1
2
3
4
[AddComponentMenu("Tools/MyScript")]
public class MyScript : MonoBehaviour {
// 脚本内容
}

使用时在 Inspector 中点击 Add Component,搜索 MyScript 即可找到。