MenuItem(string itemName, bool isValidateFunction, int priority)
参数1:菜单名
参数2:是否使用自定义条件控制菜单项是否可点击,默认为false,一般不赋值,需要用的话需要定义两个MenuItem
MenuItem 1 : 自定义条件控制菜单是否可点击,函数需要返回bool值
MenuItem 2 : 点击回调
参数3: 菜单项显示优先级,值越小,越靠上
特殊注意:当存在多级子菜单时,父菜单的优先级取决于“第一次定义菜单时 子菜单项指定的优先级”,
这就意味着,后续更改子菜单项的优先级时,只会影响子菜单项的显示顺序,父菜单的优先级将不再会被改变
若想要重置父菜单的优先级,可以先将MenuItem的定义注释掉,等待Unity编译后,再将其取消注释,让Unity重新编译即可
可选菜单:
[MenuItem("工具/Toggle菜单/Toggle1", priority = 7000)] public static void MenuToggle1() { var menuPath = "工具/Toggle菜单/Toggle1"; var isOn = Menu.GetChecked(menuPath); Menu.SetChecked(menuPath, !isOn); } [MenuItem("工具/Toggle菜单/Toggle2", priority = 7000)] public static void MenuToggle2() { var menuPath = "工具/Toggle菜单/Toggle2"; var isOn = Menu.GetChecked(menuPath); Menu.SetChecked(menuPath, !isOn); } [MenuItem("工具/Toggle菜单/Toggle3", priority = 7000)] public static void MenuToggle3() { var menuPath = "工具/Toggle菜单/Toggle3"; var isOn = Menu.GetChecked(menuPath); Menu.SetChecked(menuPath, !isOn); }