1.目前的控件的Rect
2.目前事件是滑鼠按下事件,并且是按下的滑鼠右鍵
3.右鍵點選位置在Rect内
1 void MyContexMenu(Rect rect)
2 {
3 if(Event.current.type == EventType.MouseDown &&
4 Event.current.button == 1 &&
5 rect.Contains(Event.current.mousePosition))
6 {
7 GenericMenu menu = new GenericMenu();
8 menu.AddItem(new GUIContent("Menu 1"), false, callback, null);
9 menu.AddItem(new GUIContent("Menu 2/Sub Menu 1"), false, callback2);
10 menu.ShowAsContext();
11 Event.current.Use();
12 }
13 }
public void AddItem(GUIContent content, bool on, MenuFunction func);
public void AddItem(GUIContent content, bool on, MenuFunction2 func, object userData);
參數1:菜單的标題,支援路徑
參數2:如果為true,則菜單名稱前會打勾
參數3:回調方法
參數4:傳遞給回調方法的參數
**注意**
當EventType用ContexClick時,不起作用;
有時不起作用可能是點選事件沒能傳遞下去,被上層的元件使用了目前的滑鼠事件。
藍閃的部落格
http://www.cnblogs.com/stan-si/