public void OpenScoreBoard(GameTypeUi type, List <Player> players, string gameTypeString, int writeOffPoints = 0) { scoreBoardWindow = new ScoreBoardWindow(); switch (type) { case GameTypeUi.FreeThrowsSingle: scoreBoardType = ScoreBoardType.FreeThrowsSingle; PreSetupForFreeThrowsSingle(players.First(), gameTypeString, writeOffPoints); break; case GameTypeUi.FreeThrowsDouble: scoreBoardType = ScoreBoardType.FreeThrowsDouble; PreSetupForFreeThrowsDouble(players, gameTypeString, writeOffPoints); break; case GameTypeUi.Classic: scoreBoardType = ScoreBoardType.Classic; PreSetupForClassics(); break; default: throw new ArgumentOutOfRangeException(); } scoreBoardWindow.Show(); }