internal static List <WaveEngine.Social.LeaderboardScore> MapLeaderBoards(List <ILeaderboardScore> scores)
        {
            List <WaveEngine.Social.LeaderboardScore> waveScores = null;

            if (scores != null)
            {
                waveScores = new List <WaveEngine.Social.LeaderboardScore>();

                foreach (var leaderboardScore in scores)
                {
                    var waveLeaderBoardScore = new WaveEngine.Social.LeaderboardScore()
                    {
                        DisplayRank     = leaderboardScore.DisplayRank,
                        DisplayScore    = leaderboardScore.DisplayScore,
                        Rank            = leaderboardScore.Rank,
                        RawScore        = leaderboardScore.RawScore,
                        ScoreHolder     = AndroidMapper.MapPlayer(leaderboardScore.ScoreHolder),
                        ScoreTag        = leaderboardScore.ScoreTag,
                        TimestampMillis = leaderboardScore.TimestampMillis,
                    };

                    waveScores.Add(waveLeaderBoardScore);
                }
            }

            return(waveScores);
        }
        internal static async Task <IEnumerable <WaveEngine.Social.LeaderboardScore> > MapLeaderBoards(IEnumerable <GKScore> scores)
        {
            List <WaveEngine.Social.LeaderboardScore> waveScores = null;

            if (scores != null)
            {
                waveScores = new List <WaveEngine.Social.LeaderboardScore>();

                foreach (var item in scores)
                {
                    var scoreHolder = await IOSMapper.MapPlayer(item.Player);

                    var waveLeaderBoardScore = new WaveEngine.Social.LeaderboardScore()
                    {
                        DisplayRank  = null,
                        DisplayScore = item.FormattedValue,
                        Rank         = item.Rank,
                        RawScore     = item.Value,
                        ScoreHolder  = scoreHolder,
                        ScoreTag     = null,
                    };

                    waveScores.Add(waveLeaderBoardScore);
                }
            }

            return(waveScores);
        }
Esempio n. 3
0
            internal static Dictionary <string, List <WaveEngine.Social.LeaderboardScore> > MapLeaderBoards(Dictionary <string, List <ILeaderboardScore> > scores)
            {
                Dictionary <string, List <WaveEngine.Social.LeaderboardScore> > waveScores = null;

                if (scores != null)
                {
                    waveScores = new Dictionary <string, List <WaveEngine.Social.LeaderboardScore> >();

                    foreach (var item in scores)
                    {
                        var leaderboardScoreId = item.Key;
                        var leaderboardScores  = item.Value;

                        var waveLeaderBoardScores = new List <WaveEngine.Social.LeaderboardScore>();

                        foreach (var leaderboardScore in leaderboardScores)
                        {
                            var waveLeaderBoardScore = new WaveEngine.Social.LeaderboardScore()
                            {
                                DisplayRank              = leaderboardScore.DisplayRank,
                                DisplayScore             = leaderboardScore.DisplayScore,
                                Rank                     = leaderboardScore.Rank,
                                RawScore                 = leaderboardScore.RawScore,
                                ScoreHolder              = Mapper.MapPlayer(leaderboardScore.ScoreHolder),
                                ScoreHolderDisplayName   = leaderboardScore.ScoreHolderDisplayName,
                                ScoreHolderHiResImageUrl = leaderboardScore.ScoreHolderHiResImageUrl,
                                ScoreHolderIconImageUrl  = leaderboardScore.ScoreHolderIconImageUrl,
                                ScoreTag                 = leaderboardScore.ScoreTag,
                                TimestampMillis          = leaderboardScore.TimestampMillis,
                            };

                            waveLeaderBoardScores.Add(waveLeaderBoardScore);
                        }

                        waveScores.Add(leaderboardScoreId, waveLeaderBoardScores);
                    }
                }

                return(waveScores);
            }