private string GenerateList(Collections collections,
                                    CollectionListSaveType listType = CollectionListSaveType.Txt,
                                    BeatmapListType beatmapListType = BeatmapListType.All)
        {
            if (collections == null)
            {
                return("");
            }
            var generator = _listGenerators[listType];

            generator.StartGenerating();

            _stringBuilder.Clear();
            _stringBuilder.Append(generator.GetListHeader(collections));
            for (int i = 0; i < collections.Count; i++)
            {
                var mapSets = collections[i].GetMapSets(beatmapListType);
                _stringBuilder.Append(
                    generator.GetCollectionBody(collections[i], mapSets, i)
                    );
            }
            _stringBuilder.Append(generator.GetListFooter(collections));

            generator.EndGenerating();


            return(_stringBuilder.ToString());
        }
 public string GetAllMapsList(Collections collections,
                              CollectionListSaveType listType = CollectionListSaveType.Txt)
 {
     return(GenerateList(collections, listType, BeatmapListType.All));
 }
 public string GetMissingMapsList(Collections collections,
                                  CollectionListSaveType listType = CollectionListSaveType.Txt)
 {
     return(GenerateList(collections, listType, BeatmapListType.NotKnown));
 }