private void RefreshCallback(Response<LeaderboardScores> response, LeaderboardRequest request) { if (!request.Equals(_latestRequest)) { return; } _isLoading = false; if (response.Success) { _scores.Clear(); for (int i = 0; i < response.Data.Scores.Count; i++) { _scores.Add(response.Data.Scores[i]); } if (response.Data.Scores.Count < request.Records) { _canLoadMoreScores = false; } } }
private void LoadPageCallback(Response<LeaderboardScores> response, LeaderboardRequest request) { // If the leaderboard has been resetted ( thus, leaderboard is not loading ) or the response is not the response to the latest request, // do not proceed nor update data with this response if (!_isLoading || !request.Equals(_latestRequest)) { return; } _isLoading = false; if (response.Success) { _scores.Capacity = Math.Max(_scores.Capacity, _scores.Count + response.Data.Scores.Count); for (int i = 0; i < response.Data.Scores.Count; i++) { _scores.Add(response.Data.Scores[i]); } if (response.Data.Scores.Count < request.Records) { _canLoadMoreScores = false; } } }