public void ReportScore(EditorScore _newScore)
        {
            string _instanceID = _newScore.GetInstanceID();

            // Couldnt verify user
            if (!VerifyUser())
            {
                OnReportScoreFinished(_instanceID, null, Constants.kGameServicesUserAuthMissingError);
                return;
            }

            // Get leaderboard info
            EGCLeaderboard _gcLeaderboard = GetLeaderboardWithID(_newScore.LeaderboardID);

            if (_gcLeaderboard == null)
            {
                OnReportScoreFinished(_instanceID, null, Constants.kGameServicesIdentifierInfoNotFoundError);
                return;
            }

            // Add score info
            EGCScore _newGCScore = new EGCScore(_gcLeaderboard.Identifier, _newScore.User.Identifier, _newScore.Value);

            _gcLeaderboard.AddNewScoreInfo(_newGCScore);
            OnReportScoreFinished(_instanceID, _newGCScore, null);
        }
Exemple #2
0
        private void LoadScores(EGCLeaderboard _gcLeaderboard, eLeaderboardTimeScope _timeScope, eLeaderboardUserScope _userScope, Action <EditorScore[], EditorScore> _onCompletion)
        {
            EGCScore[] _filteredScoreList = GetFilteredScoreList(_gcLeaderboard, _timeScope, _userScope);
            EGCScore   _gcLocalUserScore  = _gcLeaderboard.GetScoreWithUserID(m_localUser.Info.Identifier);

            // Now get final list
            EditorScore[] _formattedScoreList      = EGCScore.ConvertToEditorScoreList(_filteredScoreList);
            EditorScore   _formattedLocalUserScore = _gcLocalUserScore == null ? null : _gcLocalUserScore.GetEditorFormatData();

            // Invoke on finished action
            if (_onCompletion != null)
            {
                _onCompletion(_formattedScoreList, _formattedLocalUserScore);
            }
        }
            public static EditorScore[] ConvertToEditorScoreList(EGCScore[] _gcScoreList)
            {
                if (_gcScoreList == null)
                {
                    return(null);
                }

                int _count = _gcScoreList.Length;

                EditorScore[] _newScoreList = new EditorScore[_count];

                for (int _iter = 0; _iter < _count; _iter++)
                {
                    _newScoreList[_iter] = _gcScoreList[_iter].GetEditorFormatData();
                }

                return(_newScoreList);
            }
        protected override void LoadScoresFinished(IDictionary _dataDict)
        {
            EditorScore[] _scores         = null;
            EditorScore   _localUserScore = null;

            // Parse received information
            string         _error           = _dataDict.GetIfAvailable <string>(EditorGameCenter.kErrorKey);
            EGCLeaderboard _leaderboardInfo = _dataDict.GetIfAvailable <EGCLeaderboard>(EditorGameCenter.kLeaderboardInfoKey);

            if (_leaderboardInfo != null)
            {
                string     _title             = _leaderboardInfo.Title;
                EGCScore[] _egcScores         = _leaderboardInfo.GetLastQueryResults();
                EGCScore   _egcLocalUserScore = _leaderboardInfo.LocalUserScore;

                if (_egcScores != null)
                {
                    int _count = _egcScores.Length;
                    _scores = new EditorScore[_count];

                    for (int _iter = 0; _iter < _count; _iter++)
                    {
                        _scores[_iter] = new EditorScore(_egcScores[_iter]);
                    }
                }

                if (_egcLocalUserScore != null)
                {
                    _localUserScore = new EditorScore(_egcLocalUserScore);
                }

                // Update leaderboard properties
                this.Title = _title;
            }

            // Invoke finish handler
            LoadScoresFinished(_scores, _localUserScore, _error);
        }
Exemple #5
0
        private void SetScores(EGCScore[] _scoresList, EGCScore _localScore)
        {
            // Set default values
            Scores         = null;
            LocalUserScore = null;

            // Set scores list
            if (_scoresList != null)
            {
                int _count = _scoresList.Length;
                Scores = new EditorScore[_count];

                for (int _iter = 0; _iter < _count; _iter++)
                {
                    Scores[_iter] = new EditorScore(_scoresList[_iter]);
                }
            }

            // Set local score info
            if (_localScore != null)
            {
                LocalUserScore = new EditorScore(_localScore);
            }
        }
		private void SetScores (EGCScore[] _scoresList, EGCScore _localScore)
		{
			// Set default values
			Scores			= null;
			LocalUserScore	= null;
			
			// Set scores list
			if (_scoresList != null)
			{
				int	_count	= _scoresList.Length;
				Scores		= new EditorScore[_count];
				
				for (int _iter = 0; _iter < _count; _iter++)
					Scores[_iter]	= new EditorScore(_scoresList[_iter]);
			}
			
			// Set local score info
			if (_localScore != null)
				LocalUserScore		= new EditorScore(_localScore);
		}