コード例 #1
0
		private void LoadScores (Range _range, LoadScoreCompletion _onCompletion)
		{
			// Set Leaderboard properties
			m_leaderboardData.range	= _range;

			// Load scores
			m_leaderboardData.LoadScores((bool _success)=>{
				
				if (_success)
				{
					LoadUserInfo(_onCompletion);
					return;
				}
				else
				{
					if (_onCompletion != null)
						_onCompletion(null, null);
					
					return;
				}
			});
		}
コード例 #2
0
		public override	void LoadPlayerCenteredScores (LoadScoreCompletion _onCompletion)
		{
			Range 		_range			= new Range(1, 1);
			
			// Set leaderboard properties
			m_leaderboardData.range		= _range;
			
			// Load local players scores
			m_leaderboardData.LoadScores((bool _status)=>{
				if (_status)
				{
					if (m_leaderboardData.localUserScore == null)
					{
						LoadTopScores(_onCompletion);
						return;
					}
					else
					{
						int 	_localPlayerRank		= m_leaderboardData.localUserScore.rank;
						int		_maxResults				= MaxResults;
						int 	_loadFrom				= Mathf.Max(1, _localPlayerRank - Mathf.FloorToInt(_maxResults * 0.5f));
						Range	_playerCenteredRange	= new Range(_loadFrom, _maxResults);
						
						// Load scores player centered scores
						LoadScores(_playerCenteredRange, _onCompletion);
						return;
					}
				}
				else
				{
					if (_onCompletion != null)
						_onCompletion(null, null);
				}
			});
		}
コード例 #3
0
		public override	void LoadMoreScores (eLeaderboardPageDirection _pageDirection, LoadScoreCompletion _onCompletion)
		{
			Range		_curRange		= m_leaderboardData.range;

			if (_curRange.from == 0)
			{
				LoadTopScores(_onCompletion);
				return;
			}
			
			// Based on page direction, compute range of score to be loaded
			int			_maxResults		= MaxResults;
			Range		_newRange		= new Range(0, _maxResults);
			
			if (_pageDirection == eLeaderboardPageDirection.PREVIOUS)
			{
				if (_curRange.from == 1)
				{
					if (_onCompletion != null)
						_onCompletion(null, null);

					return;
				}
				
				// Set range start value
				_newRange.from	= Mathf.Max(1, _curRange.from - _maxResults);
			}
			else if (_pageDirection == eLeaderboardPageDirection.NEXT)
			{
				// Set range start value
				_newRange.from	= _curRange.from + _maxResults;
			}
			
			// Load scores
			LoadScores(_newRange, _onCompletion);
		} 
コード例 #4
0
		public override	void LoadTopScores (LoadScoreCompletion _onCompletion)
		{
			Range 		_range			= new Range(1, MaxResults);
			
			// Load scores
			LoadScores(_range, _onCompletion);
		}