Ejemplo n.º 1
0
 public static int ConvertToCheesegull(DirectRankedStatus status)
 {
     return(status switch
     {
         DirectRankedStatus.Played => 1,
         DirectRankedStatus.Ranked => 1,
         DirectRankedStatus.Graveyard => 0,
         DirectRankedStatus.Pending => 0,
         DirectRankedStatus.Qualified => 3,
         DirectRankedStatus.Loved => 4,
         _ => 0
     });
Ejemplo n.º 2
0
        public static async Task <BeatmapSet[]> Search(int offset, string query = "", int mode = -1, DirectRankedStatus status = DirectRankedStatus.All, int amount = 100)
        {
            var data = $"?amount={amount}&offset={offset}";

            if (query != "")
            {
                data += $"&query={query}";
            }

            if (mode != -1)
            {
                data += $"&mode={mode}";
            }

            if (status != DirectRankedStatus.All)
            {
                data += $"&status={RankedStatusHelper.ConvertToCheesegull(status)}";
            }

            using var wc = new WebClient();

            try
            {
                var res = await wc.DownloadStringTaskAsync(Global.Config.DirectSearchMirror + data);

                return(JsonConvert.DeserializeObject <BeatmapSet[]>(res) ?? Array.Empty <BeatmapSet>());
            }
            catch
            {
                return(Array.Empty <BeatmapSet>());
            }
        }