private void StartButton_Click(object sender, EventArgs e) { Roundabout.SimulationDuration = (int)SimulationDurationSelector.Value; List<TrafficPattern> patterns = new List<TrafficPattern>(); //Custom car flows //NORTH if (CheckBoxNorth.Checked) patterns.Add(new TrafficPattern(EntryPosition.North, CarPerMinN.IntVal(), ToNFromN.IntVal(), ToEFromN.IntVal(), ToSFromN.IntVal(), ToWFromN.IntVal())); else patterns.Add(new TrafficPattern(EntryPosition.North)); //WEST if (CheckBoxWest.Checked) patterns.Add(new TrafficPattern(EntryPosition.West, CarPerMinW.IntVal(), ToNFromW.IntVal(), ToEFromW.IntVal(), ToSFromW.IntVal(), ToWFromW.IntVal())); else patterns.Add(new TrafficPattern(EntryPosition.West)); //SOUTH if (CheckBoxSouth.Checked) patterns.Add(new TrafficPattern(EntryPosition.South, CarPerMinS.IntVal(), ToNFromS.IntVal(), ToEFromS.IntVal(), ToSFromS.IntVal(), ToWFromS.IntVal())); else patterns.Add(new TrafficPattern(EntryPosition.South)); //SOUTH if (CheckBoxEast.Checked) patterns.Add(new TrafficPattern(EntryPosition.East, CarPerMinE.IntVal(), ToNFromE.IntVal(), ToEFromE.IntVal(), ToSFromE.IntVal(), ToWFromE.IntVal())); else patterns.Add(new TrafficPattern(EntryPosition.East)); //Custom car flows end LaneGroup1.Enabled = false; LaneGroup2.Enabled = false; LaneGroup3.Enabled = false; LaneGroup4.Enabled = false; Roundabout.SimulationDuration = SimulationDurationSelector.IntVal(); SimulationDurationSelector.Enabled = false; //Init roundabout object if (ConventialRadio.Checked) { _roundabout = new ConventionalRoundabout(); _roundabout.Init(patterns); } else { _roundabout = new IntelligentRoundabout(); _roundabout.Init(patterns); } ConventialRadio.Enabled = false; IntelligentRadio.Enabled = false; ResumeButton.Enabled = true; PauseButton.Enabled = false; ManualIterButton.Enabled = true; }