// Copyright (c) 2007-2017 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using Newtonsoft.Json; using osu.Game.Beatmaps; using osu.Game.Rulesets; using System.Collections.Generic; namespace osu.Game.Online.API.Requests { public class GetUserMostPlayedBeatmapsRequest : APIRequest> { private readonly long userId; private readonly int offset; public GetUserMostPlayedBeatmapsRequest(long userId, int offset = 0) { this.userId = userId; this.offset = offset; } protected override string Target => $@"users/{userId}/beatmapsets/most_played?offset={offset}"; } public class UserMostPlayedBeatmapsResponse { [JsonProperty("beatmap_id")] public int BeatmapID; [JsonProperty("count")] public int PlayCount; [JsonProperty] private BeatmapInfo beatmap; [JsonProperty] private GetBeatmapSetsResponse beatmapSet; public BeatmapInfo GetBeatmapInfo(RulesetStore rulesets) { BeatmapSetInfo setInfo = beatmapSet.ToBeatmapSet(rulesets); beatmap.BeatmapSet = setInfo; beatmap.OnlineBeatmapSetID = setInfo.OnlineBeatmapSetID; beatmap.Metadata = setInfo.Metadata; return beatmap; } } }