Exemplo n.º 1
0
    public void SetRowData(UIScoreData lbRowData)
    {
        _rowData = lbRowData;

        _rankText.text  = _rowData.Ranking.ToString();
        _nameText.text  = _rowData.Username;
        _scoreText.text = _rowData.ScoreValue.ToString();
    }
Exemplo n.º 2
0
    private List <UIScoreData> ParseResultsData(List <ScoreboardCore.Data.ScoreResult> results)
    {
        List <UIScoreData> scoreData = new List <UIScoreData>();

        foreach (var r in results)
        {
            UIScoreData data = new UIScoreData();
            data.Ranking    = r.Ranking;
            data.ScoreValue = r.Score.ScoreValue;

            if (r.Score.ExtraData.ContainsKey("Username"))
            {
                data.Username = r.Score.ExtraData["Username"];
            }
            else
            {
                data.Username = "******";
            }

            scoreData.Add(data);
        }

        return(scoreData);
    }
Exemplo n.º 3
0
 private string FormatScore(UIScoreData _score)
 {
     return($"{_score.Ranking}. {_score.Username} - {_score.ScoreValue}");
 }
Exemplo n.º 4
0
    private void ProcessScores()
    {
        if (_scores.Count == 0)
        {
            return;
        }

        var localScore = MakePlayerScore();
        var user       = localScore.User;
        var myResult   = _scores.Where(x => x.Score.User == user).FirstOrDefault();

        if (myResult != null)
        {
            if (myResult.Score.ScoreValue < localScore.ScoreValue)
            {
                _scores.Remove(myResult);
                ScoreResult result = new ScoreResult();
                result.Ranking = -1;
                result.Score   = localScore;
                _scores.Add(result);

                _newHighscore = true;
                _scores       = _scores.OrderByDescending(x => x.Score.ScoreValue).ToList();
            }
        }
        else
        {
            ScoreResult result = new ScoreResult();
            result.Ranking = -1;
            result.Score   = localScore;
            _scores.Add(result);

            _newHighscore = true;
            _scores       = _scores.OrderByDescending(x => x.Score.ScoreValue).ToList();
        }


        int index = 0;

        for (index = 0; index < _scores.Count; ++index)
        {
            if (_scores[index].Score.User == user)
            {
                break;
            }
        }

        _currentRank = index + 1;
        if (_currentRank > 99)
        {
            _currentRank = -1;
        }

        var resultScore = new List <UIScoreData>();

        bool extendedHighScores = false;
        int  highScoresToShow   = 3;

        if (_currentRank < 6 && _currentRank > 0)
        {
            highScoresToShow   = 6;
            extendedHighScores = true;
        }

        for (int i = 0; i < highScoresToShow; ++i)
        {
            if (i < _scores.Count)
            {
                UIScoreData s = new UIScoreData();
                if (_scores[i].Score.ExtraData.ContainsKey("Username"))
                {
                    s.Username = _scores[i].Score.ExtraData["Username"];
                }
                else
                {
                    s.Username = "******";
                }

                s.ScoreValue = _scores[i].Score.ScoreValue;
                s.Ranking    = i + 1;
                resultScore.Add(s);
            }
            else
            {
                break;
            }
        }
        _liveScores.SetHighScores(resultScore);

        resultScore = new List <UIScoreData>();
        if (!extendedHighScores && index > 0)
        {
            int startingPos = index - 1;
            int endingPos   = index + 1;

            if (index == _scores.Count - 1)
            {
                startingPos = index - 2;
                endingPos   = index;
            }

            for (int i = startingPos; i <= endingPos; ++i)
            {
                if (i < _scores.Count)
                {
                    UIScoreData s = new UIScoreData();
                    if (_scores[i].Score.ExtraData.ContainsKey("Username"))
                    {
                        s.Username = _scores[i].Score.ExtraData["Username"];
                    }
                    else
                    {
                        s.Username = "******";
                    }

                    s.ScoreValue = _scores[i].Score.ScoreValue;
                    s.Ranking    = i + 1;
                    resultScore.Add(s);
                }
                else
                {
                    break;
                }
            }

            _liveScores.SetRelativeScores(resultScore);
        }
        else
        {
            _liveScores.SetRelativeScores(new List <UIScoreData>());
        }
    }
Exemplo n.º 5
0
    private void UpdateLeaderboard()
    {
        if (_leaderboard && _leaderboardInfoRetrieved && _updateLeaderboard)
        {
            List <UIScoreData> leaderboardScores = new List <UIScoreData>();

            for (int i = 0; i < _scores.Count; ++i)
            {
                if (i > 9)
                {
                    break;
                }

                UIScoreData sd = new UIScoreData();
                sd.Ranking    = 1 + i;
                sd.ScoreValue = _scores[i].Score.ScoreValue;
                if (_scores[i].Score.ExtraData.ContainsKey("Username"))
                {
                    sd.Username = _scores[i].Score.ExtraData["Username"];
                }
                else
                {
                    sd.Username = "******";
                }

                leaderboardScores.Add(sd);
            }

            _leaderboard.UpdateScores(leaderboardScores);
            _leaderboard.gameObject.SetActive(true);

            if (_gameOverData)
            {
                GameOverData gameOverData = new GameOverData();
                gameOverData.NewRank    = _newHighscore;
                gameOverData.RankNumber = _currentRank;

                var playerScore = PlayerLife.Instance.GetComponent <PlayerScore>();
                gameOverData.Laps      = playerScore.Lap;
                gameOverData.Score     = Mathf.RoundToInt(playerScore.Score);
                gameOverData.TimeAlive = playerScore.TotalTime;
                gameOverData.UserName  = PlayerInfo.Instance.Username;
                gameOverData.TrackName = _publicLevelName;

                _gameOverData.SetData(gameOverData);
            }
        }
        else if (_leaderboard && _updateLeaderboard)
        {
            _leaderboard.gameObject.SetActive(false);

            if (_gameOverData)
            {
                GameOverData gameOverData = new GameOverData();
                gameOverData.NewRank = false;

                var playerScore = PlayerLife.Instance.GetComponent <PlayerScore>();
                gameOverData.Laps      = playerScore.Lap;
                gameOverData.Score     = Mathf.RoundToInt(playerScore.Score);
                gameOverData.TimeAlive = playerScore.TotalTime;
                gameOverData.UserName  = PlayerInfo.Instance.Username;
                gameOverData.TrackName = _publicLevelName;

                _gameOverData.SetData(gameOverData);
            }
        }
    }