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;
                }
            }
        }