private void AddGroups(List <string> players) { int numGroups = (players.Count + 2) / 5; int roundIndex = AllGroupsList.Count; AllGroupsList.Add(new List <List <PlayerData> >()); for (int i = 0; i < numGroups; ++i) { AllGroupsList[roundIndex].Add(new List <PlayerData>()); } for (int i = 0, groupIndex = 0; i < players.Count; ++i, ++groupIndex) { groupIndex = groupIndex % numGroups; AllGroupsList[roundIndex][groupIndex].Add(new PlayerData(players[i])); } RefreshGroups(); }