/// <summary> /// Returns a list of achievements for the requested user by GameID (AppID) /// Throws <see cref="SteamRequestException"/> on failure. /// <a href="https://developer.valvesoftware.com/wiki/Steam_Web_API#GetPlayerAchievements_.28v0001.29">See official documentation.</a> /// </summary> /// <param name="client"><see cref="SteamClient"/> instance to use.</param> /// <param name="steamID">SteamID to return friend's list for.</param> /// <param name="gameID">AppID of the game you want the news of.</param> /// <param name="returnLanguage">Desired language for the "name" and "description" properties of returned <see cref="Achievement"/> objects.</param> /// <returns><see cref="PlayerAchievements"/> object containing game name and list of <see cref="Achievement"/> objects.</returns> public static PlayerAchievements GetPlayerAchievements( SteamClient client, string steamID, int gameID, RequestedLangage returnLanguage ) { try { return GetPlayerAchievementsAsync( client, steamID, gameID, returnLanguage ).Result; } catch( AggregateException e ) { if( e.InnerException != null ) throw e.InnerException; throw e; } }
/// <summary> /// (Asynchronous) Returns a list of achievements for the requested user by GameID (AppID) /// Throws <see cref="SteamRequestException"/> on failure. /// <a href="https://developer.valvesoftware.com/wiki/Steam_Web_API#GetPlayerAchievements_.28v0001.29">See official documentation.</a> /// </summary> /// <param name="client"><see cref="SteamClient"/> instance to use.</param> /// <param name="steamID">SteamID to return friend's list for.</param> /// <param name="gameID">AppID of the game you want the news of.</param> /// <param name="returnLanguage">Desired language for the "name" and "description" properties of returned <see cref="Achievement"/> objects.</param> /// <returns><see cref="PlayerAchievements"/> object containing game name and list of <see cref="Achievement"/> objects.</returns> public async static Task<PlayerAchievements> GetPlayerAchievementsAsync( SteamClient client, string steamID, int gameID, RequestedLangage returnLanguage ) { SteamRequest request = new SteamRequest( SteamAPIInterface.ISteamUserStats, "GetPlayerAchievements", SteamMethodVersion.v0001 ); request.AddParameter( "appid", gameID ); request.AddParameter( "steamid", steamID ); request.AddParameter( "l", GetLanguageFromEnum( returnLanguage ) ); return VerifyAndDeserialize<GetPlayerAchievementsResponse>( ( await client.ExecuteAsync( request ) ) ).PlayerAchievements; }