我有一个自定义窗口,里面有多个GUI.Window
。我可以为主窗口创建一个上下文菜单。但是当我尝试为GUI.Window
创建上下文菜单时,它不起作用。当我右键单击窗口时,它就会开始将其拖动到主窗口周围。
这里有一个存储窗口信息的列表:
// Stores a list of my windows
List<StoryboardWindow> windows = new List<StoryboardWindow>();
然后在这里我循环浏览窗口并调用DrawNodeWindow
:
// Draws the windows to the screen
void OnGUI() {
for (int i = 0; i < windows.Count; i++) {
windows[i].window = GUI.Window(i, windows[i].window, DrawNodeWindow, windows[i].windowTitle);
}
}
然后我有这个方法为窗口创建GenericMenu,但是当我右键单击窗口时它不起作用。
// Supposed to create the context menu for the window
void DrawNodeWindow(int id) {
Event currentEvent = Event.current;
if (currentEvent.type == EventType.ContextClick){
GenericMenu menu = new GenericMenu();
menu.AddItem(new GUIContent("Remove"), false, RemoveDialogWindow, id);
menu.ShowAsContext();
currentEvent.Use();
}
GUI.DragWindow();
}
这是存储信息的类:
// Data for each window
public class StoryboardWindow {
public enum WindowType { CharacterDialog, CharactersDialog }
public WindowType windowType;
public string windowTitle;
public Rect window;
}
那么,我必须以不同的方式做到这一点吗?我甚至可以这样做吗?我做错了什么?
以下是截图: