/// <summary> /// /// </summary> /// <param name="communityGameName"></param> /// <param name="leaderboardId"></param> /// <param name="params"></param> /// <param name="progress"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <LeaderboardEntriesEnvelope> GetLeaderboardEntriesAsync( string communityGameName, int leaderboardId, GetLeaderboardEntriesParams @params = default, IProgress <long> progress = default, CancellationToken cancellationToken = default) { if (disposed) { throw new ObjectDisposedException(nameof(SteamCommunityDataClient)); } if (communityGameName == null) { throw new ArgumentNullException(nameof(communityGameName)); } @params = @params ?? new GetLeaderboardEntriesParams(); var requestUri = $"stats/{communityGameName}/leaderboards/{leaderboardId}/" .SetQueryParams(new { xml = 1, start = @params.StartRange, end = @params.EndRange, v = GetRandomCacheBustingValue(), }); var response = await http.GetAsync("Get leaderboard entries", requestUri, progress, cancellationToken).ConfigureAwait(false); var content = await response.Content.ReadAsStreamAsync().ConfigureAwait(false); return((LeaderboardEntriesEnvelope)LeaderboardEntriesEnvelopeSerializer.Deserialize(content)); }
/// <summary> /// /// </summary> /// <param name="steamCommunityDataClient"></param> /// <param name="appId"></param> /// <param name="leaderboardId"></param> /// <param name="params"></param> /// <param name="progress"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public static Task <LeaderboardEntriesEnvelope> GetLeaderboardEntriesAsync( this ISteamCommunityDataClient steamCommunityDataClient, uint appId, int leaderboardId, GetLeaderboardEntriesParams @params = default, IProgress <long> progress = default, CancellationToken cancellationToken = default) { if (steamCommunityDataClient == null) { throw new ArgumentNullException(nameof(steamCommunityDataClient)); } return(steamCommunityDataClient.GetLeaderboardEntriesAsync(appId.ToString(), leaderboardId, @params, progress, cancellationToken)); }