Unity - MenuItem特性

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);
		}

猜你喜欢

转载自blog.csdn.net/smile_otl/article/details/132460500