Menuitem屬性有以下幾個功能:
1、在菜單欄中添加菜單
2、在Inspector中添加菜單
3、控制菜單是否可用
4、綁定菜單快捷鍵
如圖:①爲菜單欄 ②爲insprector中
1、實現菜單欄添加
[MenuItem("test/item1")]
public static void haha()
{
Debug.Log("this is a test");
}
上面的代碼寫入腳本,待腳本編譯完成後,在菜單欄就會多一個test菜單,test下有一個item1子菜單。當點擊此菜單時,會調用haha函數。
注意:若要使用Menuitem要添加
using UnityEditor;
[MenuItem("test/item1 %g")]
public static void haha()
{
Debug.Log("this is a test");
}
很簡單,只需要在後邊添加%+key。
(win : Ctrl+key, Mac :Cmd + key)
3、控制菜單是否可用
[MenuItem("test/item1 %g", true)]
public static bool testt()
{
return Selection.activeTransform != null;
}
MenuItem的第二個參數設置成true,就可以控制菜單是否可用了。
若testt函數返回true,則item1菜單可用。否則不可用(爲灰色)。
上面的代碼意思是:當選中某個gameObject時,菜單可用。若沒選中gameobject,則菜單不可用。
4、在Inspector中添加菜單
[MenuItem("CONTEXT/Transform/wmtest %g")]
public static void testttt()
{
}
字符串第一個區段是CINTEXT,第二個區段是組件名,第三個區段是菜單名。
與菜單欄一樣,這裏也可以添加快捷鍵和控制是否可用。