Ejemplo n.º 1
0
        public void LoadCurrentPlayerScore(string leaderboardId, UM_LeaderboardTimeSpan span, UM_LeaderboardCollection collection, Action <UM_ScoreLoadResult> callback)
        {
            var leaderboardRequest = new ISN_GKLeaderboard();

            leaderboardRequest.Identifier = leaderboardId;

            var isn_timeSpan   = ToIOSSpan(span);
            var isn_collection = ToIOSCollection(collection);

            leaderboardRequest.PlayerScope = isn_collection;
            leaderboardRequest.TimeScope   = isn_timeSpan;
            leaderboardRequest.Range       = new ISN_NSRange(1, 1);
            leaderboardRequest.LoadScores(result => {
                UM_ScoreLoadResult um_result;
                if (result.IsSucceeded)
                {
                    var score = new UM_Score(leaderboardRequest.LocalPlayerScore.Value,
                                             leaderboardRequest.LocalPlayerScore.Rank,
                                             (int)leaderboardRequest.LocalPlayerScore.Context,
                                             leaderboardRequest.LocalPlayerScore.DateUnix);

                    um_result = new UM_ScoreLoadResult(score);
                }
                else
                {
                    um_result = new UM_ScoreLoadResult(result.Error);
                }

                callback.Invoke(um_result);
            });
        }
        public void LoadCurrentPlayerScore(string leaderboardId, UM_LeaderboardTimeSpan span, UM_LeaderboardCollection collection, Action <UM_ScoreLoadResult> callback)
        {
            var leaderboards  = AN_Games.GetLeaderboardsClient();
            var an_timeSpan   = ToAndroidSpan(span);
            var an_collection = ToAndroidCollection(collection);

            leaderboards.LoadCurrentPlayerLeaderboardScore(leaderboardId, an_timeSpan, an_collection, res =>
            {
                UM_ScoreLoadResult um_result;
                if (res.IsSucceeded)
                {
                    AN_LeaderboardScore an_score = res.Data;

                    int context;
                    try {
                        context = Convert.ToInt32(an_score.ScoreTag);
                    } catch (Exception ex) {
                        Debug.LogWarning("Failed to convert anroid score tag to int. leaderboardId: " + leaderboardId + " error: " + ex.Message);
                        context = 0;
                    }

                    UM_Score score = new UM_Score(an_score.RawScore,
                                                  an_score.Rank,
                                                  context,
                                                  an_score.TimestampMillis);

                    um_result = new UM_ScoreLoadResult(score);
                }
                else
                {
                    um_result = new UM_ScoreLoadResult(res.Error);
                }

                callback.Invoke(um_result);
            });
        }
        public void LoadCurrentPlayerScore(string leaderboardId, UM_LeaderboardTimeSpan span, UM_LeaderboardCollection collection, Action <UM_ScoreLoadResult> callback)
        {
            var leaderboards = AN_Games.GetLeaderboardsClient();


            AN_Leaderboard.TimeSpan an_timeSpan = AN_Leaderboard.TimeSpan.AllTime;
            switch (span)
            {
            case UM_LeaderboardTimeSpan.AllTime:
                an_timeSpan = AN_Leaderboard.TimeSpan.AllTime;
                break;

            case UM_LeaderboardTimeSpan.Weekly:
                an_timeSpan = AN_Leaderboard.TimeSpan.Weekly;
                break;

            case UM_LeaderboardTimeSpan.Daily:
                an_timeSpan = AN_Leaderboard.TimeSpan.Daily;
                break;
            }

            AN_Leaderboard.Collection an_collection = AN_Leaderboard.Collection.Public;
            switch (collection)
            {
            case UM_LeaderboardCollection.Public:
                an_collection = AN_Leaderboard.Collection.Public;
                break;

            case UM_LeaderboardCollection.Social:
                an_collection = AN_Leaderboard.Collection.Social;
                break;
            }



            leaderboards.LoadCurrentPlayerLeaderboardScore(leaderboardId, an_timeSpan, an_collection, (res) => {
                UM_ScoreLoadResult um_result;
                if (res.IsSucceeded)
                {
                    AN_LeaderboardScore an_score = res.Data;

                    int context;
                    try {
                        context = Convert.ToInt32(an_score.ScoreTag);
                    } catch (Exception ex) {
                        Debug.LogWarning("Failed to convert anroid score tag to int. leaderboardId: " + leaderboardId + " error: " + ex.Message);
                        context = 0;
                    }

                    UM_Score score = new UM_Score(an_score.RawScore,
                                                  an_score.Rank,
                                                  context,
                                                  an_score.TimestampMillis);

                    um_result = new UM_ScoreLoadResult(score);
                }
                else
                {
                    um_result = new UM_ScoreLoadResult(res.Error);
                }

                callback.Invoke(um_result);
            });
        }
        public void LoadCurrentPlayerScore(string leaderboardId, UM_LeaderboardTimeSpan span, UM_LeaderboardCollection collection, Action <UM_ScoreLoadResult> callback)
        {
            var leaderboardRequest = new ISN_GKLeaderboard();

            leaderboardRequest.Identifier = leaderboardId;


            ISN_GKLeaderboardPlayerScope isn_collection = ISN_GKLeaderboardPlayerScope.Global;

            switch (collection)
            {
            case UM_LeaderboardCollection.Public:
                isn_collection = ISN_GKLeaderboardPlayerScope.Global;
                break;

            case UM_LeaderboardCollection.Social:
                isn_collection = ISN_GKLeaderboardPlayerScope.FriendsOnly;
                break;
            }



            ISN_GKLeaderboardTimeScope isn_timeSpan = ISN_GKLeaderboardTimeScope.AllTime;

            switch (span)
            {
            case UM_LeaderboardTimeSpan.AllTime:
                isn_timeSpan = ISN_GKLeaderboardTimeScope.AllTime;
                break;

            case UM_LeaderboardTimeSpan.Weekly:
                isn_timeSpan = ISN_GKLeaderboardTimeScope.Week;
                break;

            case UM_LeaderboardTimeSpan.Daily:
                isn_timeSpan = ISN_GKLeaderboardTimeScope.Today;
                break;
            }

            leaderboardRequest.PlayerScope = isn_collection;
            leaderboardRequest.TimeScope   = isn_timeSpan;
            leaderboardRequest.Range       = new ISN_NSRange(1, 1);
            leaderboardRequest.LoadScores((result) => {
                UM_ScoreLoadResult um_result;

                if (result.IsSucceeded)
                {
                    UM_Score score = new UM_Score(leaderboardRequest.LocalPlayerScore.Value,
                                                  leaderboardRequest.LocalPlayerScore.Rank,
                                                  (int)leaderboardRequest.LocalPlayerScore.Context,
                                                  leaderboardRequest.LocalPlayerScore.DateUnix);

                    um_result = new UM_ScoreLoadResult(score);
                }
                else
                {
                    um_result = new UM_ScoreLoadResult(result.Error);
                }

                callback.Invoke(um_result);
            });
        }