有没有办法在 Unity 编辑器脚本中将 Event.ContextClick 添加到 Gui.Window?
以下是我尝试从OnGUI()和窗口的WindowFunction调用的上下文菜单方法(调用站点在下面表示为“ site: no lucky ”)。除非我直接在主编辑器窗口中单击鼠标右键,否则我无法显示“成功”消息。如果我在我创建的任何 Gui.Windows 中单击鼠标右键,则不会显示 ContextClick 事件。
void OnStateContextMenu(){
Event evt = Event.current;
// Ignore anything but contextclicks
if(evt.type != EventType.ContextClick)return;
Debug.Log("Success");
// Add generic menu at context point
GenericMenu menu = new GenericMenu();
menu.AddItem (new GUIContent ("AddState"),false,AddState,evt.mousePosition);
menu.ShowAsContext ();
evt.Use();
}
和呼叫站点:
void doWindow(int id){
// OnStateContextMenu(); //site1: no luck
GUI.DragWindow();
}
void OnGUI(){
OnStateContextMenu(); //site2: no luck here either
BeginWindows();
wndRect = GUI.Window(0,wndRect,doWindow,"StateWnd");
EndWindows();
}
更新
作为参考,绿色区域响应右键单击,红色区域不响应。但我想要它。我创建的右键单击菜单具有特定的操作,我只希望鼠标光标在我的一个窗口内单击鼠标右键时可见,即图像中的“你好”。注意:忽略按钮,右键单击在该窗口内的任何地方都不起作用。