internal static void CreateMenu(bool QuitOnly) { if (QuitOnly) { // quit menu only CurrentMenu = new MenuEntry[3]; CurrentMenu[0] = new MenuCaption(Interface.GetInterfaceString("menu_quit_question")); CurrentMenu[1] = new MenuCommand(Interface.GetInterfaceString("menu_quit_no"), MenuTag.Back, 0); CurrentMenu[2] = new MenuCommand(Interface.GetInterfaceString("menu_quit_yes"), MenuTag.Quit, 0); CurrentMenuSelection = new int[] { 1 }; CurrentMenuOffsets = new double[] { double.NegativeInfinity }; CurrentMenu[1].Highlight = 1.0; } else { // full menu int n = 0; for (int i = 0; i < Stations.Length; i++) { if (PlayerStopsAtStation(i) & Stations[i].Stops.Length > 0) { n++; } } MenuEntry[] a = new MenuCommand[n]; n = 0; for (int i = 0; i < Stations.Length; i++) { if (PlayerStopsAtStation(i) & Stations[i].Stops.Length > 0) { a[n] = new MenuCommand(Stations[i].Name, MenuTag.JumpToStation, i); n++; } } if (n != 0) { CurrentMenu = new MenuEntry[4]; CurrentMenu[0] = new MenuCommand(Interface.GetInterfaceString("menu_resume"), MenuTag.Back, 0); CurrentMenu[1] = new MenuSubmenu(Interface.GetInterfaceString("menu_jump"), a); CurrentMenu[2] = new MenuSubmenu(Interface.GetInterfaceString("menu_exit"), new MenuEntry[] { new MenuCaption(Interface.GetInterfaceString("menu_exit_question")), new MenuCommand(Interface.GetInterfaceString("menu_exit_no"), MenuTag.Back, 0), new MenuCommand(Interface.GetInterfaceString("menu_exit_yes"), MenuTag.ExitToMainMenu, 0) }); CurrentMenu[3] = new MenuSubmenu(Interface.GetInterfaceString("menu_quit"), new MenuEntry[] { new MenuCaption(Interface.GetInterfaceString("menu_quit_question")), new MenuCommand(Interface.GetInterfaceString("menu_quit_no"), MenuTag.Back, 0), new MenuCommand(Interface.GetInterfaceString("menu_quit_yes"), MenuTag.Quit, 0) }); } else { CurrentMenu = new MenuEntry[3]; CurrentMenu[0] = new MenuCommand(Interface.GetInterfaceString("menu_resume"), MenuTag.Back, 0); CurrentMenu[1] = new MenuSubmenu(Interface.GetInterfaceString("menu_exit"), new MenuEntry[] { new MenuCaption(Interface.GetInterfaceString("menu_exit_question")), new MenuCommand(Interface.GetInterfaceString("menu_exit_no"), MenuTag.Back, 0), new MenuCommand(Interface.GetInterfaceString("menu_exit_yes"), MenuTag.ExitToMainMenu, 0) }); CurrentMenu[2] = new MenuSubmenu(Interface.GetInterfaceString("menu_quit"), new MenuEntry[] { new MenuCaption(Interface.GetInterfaceString("menu_quit_question")), new MenuCommand(Interface.GetInterfaceString("menu_quit_no"), MenuTag.Back, 0), new MenuCommand(Interface.GetInterfaceString("menu_quit_yes"), MenuTag.Quit, 0) }); } CurrentMenuSelection = new int[] { 0 }; CurrentMenuOffsets = new double[] { double.NegativeInfinity }; CurrentMenu[0].Highlight = 1.0; } }
public MenuItem(MenuSubmenu parent = null) { ParentMenu = parent; }