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