Beispiel #1
0
    private IEnumerator GetPictureListGetHighScoreList()
    {
        for (int i = 0; i < _userHighScoreList.Count; i++)
        {
            _isGettingPicture     = true;
            _currentUserHighScore = _userHighScoreList[i];
            GetPicture(_currentUserHighScore.Id, OnGetPictureOfGetHighScoreListCB);

            while (_isGettingPicture)
            {
                yield return(new WaitForEndOfFrame());
            }
        }

        if (_onGetHighScoreListCB != null)
        {
            _onGetHighScoreListCB(_userHighScoreList, "Success");
        }
    }
Beispiel #2
0
    private void OnGetFriendListOfHighScoreListCB(List <FBUserInfo> userInfoList, string message)
    {
        if (userInfoList != null)
        {
            _userHighScoreList = new List <FBUserHighScore>();

            for (int i = 0; i < userInfoList.Count; i++)
            {
                FBUserHighScore userHighScore = new FBUserHighScore();
                userHighScore.Id   = userInfoList[i].id;
                userHighScore.Name = userInfoList[i].name;

                for (int j = 0; j < _userScoreList.Count; j++)
                {
                    if (userHighScore.Id == _userScoreList[j].user.id)
                    {
                        userHighScore.Score       = _userScoreList[j].score;
                        userHighScore.IsPlayedApp = true;
                        break;
                    }
                }

                _userHighScoreList.Add(userHighScore);
            }

            // friend list dont contain current user, so need to add manualy
            for (int i = 0; i < _userScoreList.Count; i++)
            {
                if (_userScoreList[i].user.id == CurrentUser.User.id)
                {
                    FBUserHighScore userHighScore = new FBUserHighScore();
                    userHighScore.Id          = _userScoreList[i].user.id;
                    userHighScore.Name        = _userScoreList[i].user.name;
                    userHighScore.IsPlayedApp = true;
                    userHighScore.Score       = _userScoreList[i].score;
                    _userHighScoreList.Add(userHighScore);
                    break;
                }
            }

            _userHighScoreList.Sort((x1, x2) =>
            {
                if (x1.Score > x2.Score)
                {
                    return(-1);
                }
                if (x1.Score < x2.Score)
                {
                    return(1);
                }
                return(string.Compare(x1.Name, x2.Name));
            });

            if (_isDownloadPictureOfEachUser)
            {
                _getPictureListRef = GetPictureListGetHighScoreList();
                StartCoroutine(_getPictureListRef);
            }
            else
            {
                if (_onGetHighScoreListCB != null)
                {
                    _onGetHighScoreListCB(_userHighScoreList, "Success");
                }
            }
        }
        else
        {
            if (_onGetHighScoreListCB != null)
            {
                _onGetHighScoreListCB(null, message);
            }
        }
    }