Пример #1
0
    private void GetMonthlyScores()
    {
        spinner.Show();

        var theDate = System.DateTime.Now.ToString("yyyyMM");

        new GameSparks.Api.Requests.LeaderboardDataRequest()
        .SetLeaderboardShortCode("Monthly.period." + theDate)
        .SetEntryCount(100)
        .Send((response) =>
        {
            if (!response.HasErrors)
            {
                foreach (var entry in response.Data)
                {
                    var rank    = 0;
                    var rankObj = entry.Rank;
                    if (rankObj != null)
                    {
                        rank = (int)rankObj;
                    }

                    string FBUserId = null;

                    if (entry.ExternalIds != null)
                    {
                        if (entry.ExternalIds.ContainsKey("FB"))
                        {
                            FBUserId = entry.ExternalIds.GetString("FB");
                        }
                    }

                    var playerName = entry.UserName;
                    var score      = "";
                    var scoreObj   = entry.JSONData["score"];
                    if (scoreObj != null)
                    {
                        score = scoreObj.ToString();
                    }
                    var leaderBoardUser = new LeaderBoardUser
                    {
                        Rank     = rank,
                        Username = playerName,
                        Score    = score,
                        FBUserId = FBUserId
                    };
                    _monthlyUsers.Add(leaderBoardUser);
                }
                PopulateMonthlyLeaderboard();
            }
            else
            {
                MyDebug.Log("Error Retrieving Leaderboard Data..." + response.Errors.JSON);
            }

            spinner.Hide();
        });
    }
Пример #2
0
    private void GetTotalScores()
    {
        spinner.Show();

        new GameSparks.Api.Requests.LeaderboardDataRequest().SetLeaderboardShortCode("allTime")
        .SetEntryCount(100)
        .Send((response) =>
        {
            if (!response.HasErrors)
            {
                foreach (var entry in response.Data)
                {
                    var rank    = 0;
                    var rankObj = entry.Rank;
                    if (rankObj != null)
                    {
                        rank = (int)rankObj;
                    }

                    string FBUserId = null;

                    if (entry.ExternalIds != null)
                    {
                        if (entry.ExternalIds.ContainsKey("FB"))
                        {
                            FBUserId = entry.ExternalIds.GetString("FB");
                        }
                    }

                    var playerName = entry.UserName;
                    var score      = "";
                    var scoreObj   = entry.JSONData.ContainsKey("SUM-score") ? entry.JSONData["SUM-score"] : null;
                    if (scoreObj != null)
                    {
                        score = scoreObj.ToString();
                    }
                    var leaderBoardUser = new LeaderBoardUser
                    {
                        Rank     = rank,
                        Username = playerName,
                        Score    = score,
                        FBUserId = FBUserId
                    };
                    _totalUsers.Add(leaderBoardUser);
                }
                PopulateTotalLeaderboard();
            }
            else
            {
                MyDebug.Log("Error Retrieving Leaderboard Data...");
            }

            spinner.Hide();
        });
    }