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();
        }