Beispiel #1
0
        /// <summary>
        /// Retrieve general beatmap information.
        /// </summary>
        /// <param name="nameOrId">Specify a user or a username to return metadata from.</param>
        /// <param name="gameMode">Specify the game mode.</param>
        /// <param name="limitCount">Amount of results (1 - 500). Default value is 500.</param>
        /// <returns>Fetched beatmaps.</returns>
        public OsuBeatmap[] GetBeatmaps(
            UserComponent nameOrId       = null,
            ConvertibleGameMode gameMode = null,
            int?limitCount = null)
        {
            var sb = new StringBuilder(Key.CreateBeatmapLink());

            if (nameOrId != null)
            {
                AppendUser(nameOrId, sb);
            }
            if (gameMode != null)
            {
                AppendConvertibleGameMode(gameMode, sb);
            }
            if (limitCount != null)
            {
                AppendLimit(limitCount, sb);
            }

            string json = GetJson(sb);
            var    obj  = JsonConvert.DeserializeObject <OsuBeatmap[]>(json);

            return(obj);
        }
Beispiel #2
0
        /// <summary>
        /// Retrieve general beatmap information.
        /// </summary>
        /// <param name="beatmapSetId">Specify a beatmap set id.</param>
        /// <param name="gameMode">Specify the game mode.</param>
        /// <param name="limitCount">Amount of results (1 - 500). Default value is 500.</param>
        /// <returns>Fetched beatmaps.</returns>
        public OsuBeatmap[] GetBeatmaps(
            BeatmapSetId beatmapSetId,
            ConvertibleGameMode gameMode = null,
            int?limitCount = null)
        {
            var sb = new StringBuilder(Key.CreateBeatmapLink());

            sb.Append($"&s={beatmapSetId}");

            if (gameMode != null)
            {
                AppendConvertibleGameMode(gameMode, sb);
            }
            if (limitCount != null)
            {
                AppendLimit(limitCount, sb);
            }

            string json = GetJson(sb);
            var    obj  = JsonConvert.DeserializeObject <OsuBeatmap[]>(json);

            return(obj);
        }
Beispiel #3
0
 private static void AppendConvertibleGameMode(ConvertibleGameMode gameMode, StringBuilder sb)
 {
     sb.Append(gameMode.ConvertOption == BeatmapConvertOption.Included
         ? $"&m={(int)gameMode.GameMode}&a=1"
         : $"&m={(int)gameMode.GameMode}");
 }