Added FetchUsersScores to Leaderboard.cs

This commit is contained in:
paperjack 2018-05-24 00:41:14 +03:00
parent 46f56c24f3
commit 83d71d78a4

View File

@ -321,6 +321,34 @@ public bool FetchScores( RequestType RequestType, int start, int end, FetchScore
return true; return true;
} }
public unsafe bool FetchUsersScores( RequestType RequestType, UInt64[] steamIds, FetchScoresCallback onSuccess, FailureCallback onFailure = null )
{
if ( IsError ) return false;
if ( !IsValid ) return DeferOnCreated( () => FetchUsersScores( RequestType, steamIds, onSuccess, onFailure ), onFailure );
fixed(ulong* pointer = steamIds){
client.native.userstats.DownloadLeaderboardEntriesForUsers(BoardId, (IntPtr)pointer, steamIds.Length, (result, error) =>
{
if (error)
{
onFailure?.Invoke(Callbacks.Result.IOFailure);
}
else
{
if (_sEntryBuffer == null) _sEntryBuffer = new List<Entry>();
else _sEntryBuffer.Clear();
ReadScores(result, _sEntryBuffer);
onSuccess(_sEntryBuffer.ToArray());
}
});
}
return true;
}
private void OnScores( LeaderboardScoresDownloaded_t result, bool error ) private void OnScores( LeaderboardScoresDownloaded_t result, bool error )
{ {
IsQuerying = false; IsQuerying = false;