//this method runs through an outcome of lists and returns their outcomes. public static void DoWorkSon(ProportionValue <string> propValue) { var newPropValueList = propValue.PropValueList; if (newPropValueList != null) { var newDescription = propValue.Value; playDescription += newDescription; var newChosenList = newPropValueList.ChooseByRandom(); DoWorkSon(newChosenList); if (propValue.InsertValue != null) { string switchInsertValue = propValue.InsertValue; //receives the inserted values that will update scoreboard information and trigger methods switch (switchInsertValue) { case "balls": Play.recordBall(); break; case "strikes": Play.recordStrike(); break; case "fouls": Play.recordFoul(); break; case "hits": frmBaseballSimulator.startRunPlayTimer(); break; } } } else { var newDescription = propValue.Value; playDescription += newDescription; Console.WriteLine(playDescription); if (propValue.InsertValue != null) { string switchInsertValue = propValue.InsertValue; //receives the inserted values that will update scoreboard information and trigger methods switch (switchInsertValue) { case "balls": Play.recordBall(); break; case "strikes": Play.recordStrike(); break; case "fouls": Play.recordFoul(); break; case "hits": frmBaseballSimulator.startRunPlayTimer(); break; } } if (propValue.InsertValue != "hits") { playDescription = string.Empty; } } }