public MainForm() { InitializeComponent(); Text = ProductName + " " + ProductVersion; jazz2 = new Jazz2(); jazz2.ProcessFound += Jazz2_ProcessFound; jazz2.ProcessClosed += Jazz2_ProcessClosed; loopThread = new Thread(LoopProc); loopThread.Start(); randomizerSettings = new RandomizerSettings(); randomizerSettings.LevelSettings.Add(new LevelSettings() { LevelFilename = "carrot1.j2l", Bird = true, Jazz = true }); randomizerSettings.LevelSettings.Add(new LevelSettings() { LevelFilename = "castle1n.j2l", Bird = true, Spaz = true }); textBoxSeed.Text = new Random().Next().ToString("X8"); }
public LevelSettingsControl(RandomizerSettings randomizerSettings, LevelSettings levelSettings) { InitializeComponent(); Dock = DockStyle.Fill; textBoxLevelFilename.DataBindings.Add("Text", levelSettings, "LevelFilename"); checkBoxJazz.DataBindings.Add("Checked", levelSettings, "Jazz"); checkBoxSpaz.DataBindings.Add("Checked", levelSettings, "Spaz"); checkBoxLori.DataBindings.Add("Checked", levelSettings, "Lori"); checkBoxFrog.DataBindings.Add("Checked", levelSettings, "Frog"); checkBoxBird.DataBindings.Add("Checked", levelSettings, "Bird"); checkBoxRandomzieColors.DataBindings.Add("Checked", levelSettings, "RandomizeColors"); dataGridViewEventGroups.AutoGenerateColumns = false; dataGridViewEventGroups.DataSource = new BindingList <EventGroup>(levelSettings.EventGroups); ColumnFromDifficulty.DataSource = Enum.GetValues(typeof(Difficulty)); ColumnToDifficulty.DataSource = Enum.GetValues(typeof(Difficulty)); var eventTypes = EventInfo.EventNames .Select((name, i) => new { Name = name, Id = i, Type = EventInfo.EventTypes[i] }) .Where(x => !string.IsNullOrEmpty(x.Type)) .GroupBy(x => x.Type) .ToList(); foreach (var eventGroup in eventTypes) { var eventInfos = eventGroup .ToList(); var menuItemFrom = new ToolStripMenuItem(eventGroup.Key); menuItemFrom.DropDownItems.Add("-= ADD ALL =-").Click += delegate { foreach (var eventInfo in eventInfos) { eventsFrom?.Add(new EventInfo() { EventId = eventInfo.Id }); } }; var menuItemTo = new ToolStripMenuItem(eventGroup.Key); menuItemTo.DropDownItems.Add("-= ADD ALL =-").Click += delegate { foreach (var eventInfo in eventInfos) { eventsTo?.Add(new EventInfo() { EventId = eventInfo.Id }); } }; foreach (var eventInfo in eventInfos) { menuItemFrom.DropDownItems.Add(eventInfo.Name).Click += delegate { eventsFrom?.Add(new EventInfo() { EventId = eventInfo.Id }); }; menuItemTo.DropDownItems.Add(eventInfo.Name).Click += delegate { eventsTo?.Add(new EventInfo() { EventId = eventInfo.Id }); }; } toolStripDropDownButtonAddFromEvent.DropDownItems.Add(menuItemFrom); toolStripDropDownButtonAddToEvent.DropDownItems.Add(menuItemTo); } var existingEventGroups = randomizerSettings.LevelSettings .SelectMany(x => x.EventGroups) .Distinct(); foreach (var eventGroup in existingEventGroups) { toolStripSplitButtonAddEventGroup.DropDownItems.Add(eventGroup.Name).Click += delegate { eventGroups.Add(eventGroup); }; } }