private void FillLevelSelectMenu() { List <LanternFilenames.LanternLevelEntry> levelList = LanternFilenames.GetLevelList(); // Add levels string levelPrevious = ""; foreach (LanternFilenames.LanternLevelEntry entry in levelList) { string level = entry.Level; if (entry.Level == "") { levelSelectToolStripMenuItem.DropDownItems.Add(new ToolStripSeparator()); } else if (levelPrevious != entry.Level) { levelPrevious = entry.Level; ToolStripMenuItem i = new ToolStripMenuItem(entry.Level); i.Click += selectLevel; i.ToolTipText = "PL" + entry.FileID + ".BIN"; levelSelectToolStripMenuItem.DropDownItems.Add(i); } } // Add acts foreach (LanternFilenames.LanternLevelEntry entry in levelList) { if (entry.Act != "") { for (int i = 0; i < levelSelectToolStripMenuItem.DropDownItems.Count; i++) { if (levelSelectToolStripMenuItem.DropDownItems[i] is ToolStripSeparator) { continue; } else if (levelSelectToolStripMenuItem.DropDownItems[i].Text == entry.Level) { ToolStripMenuItem item = (ToolStripMenuItem)levelSelectToolStripMenuItem.DropDownItems[i]; ToolStripMenuItem u = new ToolStripMenuItem(entry.Act); u.Click += selectLevel; u.ToolTipText = "PL" + entry.FileID + ".BIN"; item.ToolTipText = ""; item.DropDownItems.Add(u); } } } } }
private void selectLevel(object sender, EventArgs e) { ToolStripMenuItem send = (ToolStripMenuItem)sender; List <LanternFilenames.LanternLevelEntry> levelList = LanternFilenames.GetLevelList(); // Stop if it has dropdowns if (send.DropDownItems.Count > 0) { return; } if (string.IsNullOrEmpty(send.ToolTipText)) { return; } foreach (LanternFilenames.LanternLevelEntry entry in levelList) { string levelname = send.ToolTipText.Substring(2, send.ToolTipText.Length - 2).Replace(".BIN", ""); if (levelname == entry.FileID) { OpenPLFileFromLevelSelect(entry.FileID); } } }