Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="count"></param>
        /// <param name="leaderboardResult"></param>
        /// <param name="OnFailedToLoad"></param>
        /// <param name="leaderboardName"></param>
        public static void GetFriendsLeaderboard(int count, Action <GetLeaderboardResult> leaderboardResult, Action OnFailedToLoad = null, string leaderboardName = "TotalCurrencyBased_Global")
        {
            if (PlayFabClientAPI.IsClientLoggedIn())
            {
                var request = new GetFriendLeaderboardRequest
                {
                    StatisticName          = leaderboardName,
                    StartPosition          = 0,
                    MaxResultsCount        = count,
                    IncludeFacebookFriends = true
                };

                request.ProfileConstraints = new PlayerProfileViewConstraints();
                request.ProfileConstraints.ShowAvatarUrl             = true;
                request.ProfileConstraints.ShowDisplayName           = true;
                request.ProfileConstraints.ShowLocations             = true;
                request.ProfileConstraints.ShowContactEmailAddresses = true;

                PlayFabClientAPI.GetFriendLeaderboard(request, leaderboardResult, _OnError =>
                {
                    Debug.Log("567 " + _OnError.ErrorMessage);
                    if (OnFailedToLoad != null)
                    {
                        OnFailedToLoad();
                    }
                });
            }
        }
    public void GetLeaderboard()
    {
        var requestLeaderboard = new GetFriendLeaderboardRequest {
            StartPosition = 0, StatisticName = "BBTCHighscore", MaxResultsCount = 10
        };

        PlayFabClientAPI.GetFriendLeaderboard(requestLeaderboard, OnGetLeaderboard, OnErrorLeaderboard);
    }
Exemplo n.º 3
0
    public static void GetFriendsLeaderboard(string stat, UnityAction callback = null)
    {
        var request = new GetFriendLeaderboardRequest
        {
            MaxResultsCount = 10,
            StatisticName   = stat
        };

        PlayFabClientAPI.GetFriendLeaderboard(request, result =>
        {
            friendsLB = result.Leaderboard;
            if (callback != null)
            {
                callback();
            }
            PF_Bridge.RaiseCallbackSuccess(string.Empty, PlayFabAPIMethods.GetFriendsLeaderboard, MessageDisplayStyle.none);
        }, PF_Bridge.PlayFabErrorCallback);
    }
    /// <summary>
    /// Gets values from a given PlayFab statistic.
    /// </summary>
    /// <param name="statisticName">Name of the PlayFab statistic to be retrieved.</param>
    /// <param name="friendsOnly">Only retrieve info from Facebook friends?</param>
    /// <param name="maxResultsCount">Maximum number of records to retrieve.</param>
    /// <param name="successCallback">Action to be executed when the process is done correctly.</param>
    /// <param name="startPosition">Starting point to retrieve the statistic values.</param>
    public void GetLeaderboard(string statisticName, bool friendsOnly, int maxResultsCount, Action <GetLeaderboardResult> successCallback, int startPosition = 0)
    {
        if (!IsLoggedOnPlayFab)
        {
            Debug.LogError("EasyLeaderboard.GetLeaderboard => Not logged on PlayFab!");
            return;
        }

        successCallback += res =>
        {
            Debug.Log(string.Format("EasyLeaderboard.GetLeaderboard => Success! (Statistic '{0}', {1}, {2} items found)",
                                    statisticName, friendsOnly ? "Friends" : "Global", res.Leaderboard.Count));
        };

        if (friendsOnly)
        {
            var request = new GetFriendLeaderboardRequest
            {
                StatisticName          = statisticName,
                MaxResultsCount        = maxResultsCount,
                IncludeFacebookFriends = true,
                StartPosition          = startPosition
            };

            PlayFabClientAPI.GetFriendLeaderboard(request, successCallback, PlayFabErrorCallback);
        }
        else
        {
            var request = new GetLeaderboardRequest
            {
                StatisticName   = statisticName,
                MaxResultsCount = maxResultsCount,
                StartPosition   = startPosition
            };

            PlayFabClientAPI.GetLeaderboard(request, successCallback, PlayFabErrorCallback);
        }
    }
Exemplo n.º 5
0
 public static IEnumerator <GetLeaderboardResult> Do(GetFriendLeaderboardRequest request)
 {
     return(Do <GetFriendLeaderboardRequest, GetLeaderboardResult>(request, PlayFabClientAPI.GetFriendLeaderboard));
 }
Exemplo n.º 6
0
 public static UnityTask <GetLeaderboardResult> Do(GetFriendLeaderboardRequest request)
 {
     return(Do <GetFriendLeaderboardRequest, GetLeaderboardResult>(request, PlayFabClientAPI.GetFriendLeaderboard));
 }
Exemplo n.º 7
0
    public PlayFabManager GetPlayersLevelLeaderboard()
    {
        if (PlayFabClientAPI.IsClientLoggedIn())
        {
            List <PlayerLeaderboardEntry> respone = null;

            PlayerProfileViewConstraints profileViewConstraints = new PlayerProfileViewConstraints()
            {
                ShowDisplayName    = true,
                ShowLinkedAccounts = true
            };

            GetFriendLeaderboardRequest request = new GetFriendLeaderboardRequest()
            {
                StatisticName          = _levelsCountLeaderboardId,
                MaxResultsCount        = 100,
                IncludeFacebookFriends = true,
                ProfileConstraints     = profileViewConstraints
            };

            PlayFabClientAPI.GetFriendLeaderboard(request, (result) => {
                respone = result.Leaderboard;

                var newLeaderboardList = new List <UserLeaderboardData>();

                foreach (var playerLeaderboardEntry in respone)
                {
                    string fbId = "";

                    var linkedAccounts = playerLeaderboardEntry.Profile.LinkedAccounts;

                    if (linkedAccounts != null && linkedAccounts.Any())
                    {
                        foreach (var linkedPlatformAccountModel in linkedAccounts)
                        {
                            if (linkedPlatformAccountModel.Platform.Equals(LoginIdentityProvider.Facebook))
                            {
                                fbId = linkedPlatformAccountModel.PlatformUserId;
                            }
                        }
                    }

                    var userData = new UserLeaderboardData()
                    {
                        DisplayName      = playerLeaderboardEntry.DisplayName,
                        PlayFabId        = playerLeaderboardEntry.PlayFabId,
                        Position         = playerLeaderboardEntry.Position,
                        LeaderboardValue = playerLeaderboardEntry.StatValue,
                        FacebookId       = fbId
                    };

                    newLeaderboardList.Add(userData);
                }

                if (OnLevelsLeaderboardLoaded != null)
                {
                    OnLevelsLeaderboardLoaded.Invoke(newLeaderboardList);
                }
            },
                                                  (error) => {
                Debug.Log("Error getting game leaderboard:");
                Debug.Log(error.ErrorMessage);
                Debug.Log(error.ErrorDetails);
            });
        }

        return(this);
    }
 public UnityTask <GetLeaderboardResult> Do(GetFriendLeaderboardRequest request)
 {
     return(this.Do <GetFriendLeaderboardRequest, GetLeaderboardResult>(request, PlayFabClientAPI.GetFriendLeaderboardAsync));
 }