Exemplo n.º 1
0
    public void GetLeaderboard()
    {
        Debug.Log($"ランキング(リーダーボード)の取得開始");

        // トップランキング
        //GetLeaderboardRequestのインスタンスを生成
        var request = new GetLeaderboardRequest {
            StatisticName   = "テストランキング", //ランキング名(統計情報名)
            StartPosition   = 0,          //何位以降のランキングを取得するか
            MaxResultsCount = 5,          //ランキングデータを何件取得するか(最大100)
        };

        //ランキング(リーダーボード)を取得
        PlayFabClientAPI.GetLeaderboard(request, OnGetLeaderboardSuccess, OnGetLeaderboardFailure);

/*
 *      // 周辺のランキング
 *      //GetLeaderboardAroundPlayerRequestのインスタンスを生成
 *      var request = new GetLeaderboardAroundPlayerRequest {
 *          StatisticName = "テストランキング", // 統計情報名を指定します。
 *          MaxResultsCount = 3 // 自分と+-5位をあわせて合計5件を取得します。
 *      };
 *      //ランキング(リーダーボード)を取得
 *      PlayFabClientAPI.GetLeaderboardAroundPlayer(request, OnGetLeaderboardAroundPlayerSuccess, OnGetLeaderboardFailure);
 */
    }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="count"></param>
        /// <param name="leaderboardResult"></param>
        /// <param name="OnFailedToLoad"></param>
        /// <param name="leaderboardName"></param>
        public static void GetGlobalLeaderboard(int count, Action <GetLeaderboardResult> leaderboardResult, Action OnFailedToLoad = null, string leaderboardName = "TotalCurrencyBased_Global")
        {
            if (PlayFabClientAPI.IsClientLoggedIn())
            {
                var request = new GetLeaderboardRequest
                {
                    StatisticName   = leaderboardName,
                    StartPosition   = 0,
                    MaxResultsCount = count
                };

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

                PlayFabClientAPI.GetLeaderboard(request, leaderboardResult, _OnError =>
                {
                    if (OnFailedToLoad != null)
                    {
                        OnFailedToLoad();
                    }
                });
            }
        }
Exemplo n.º 3
0
    void GetLeaderBoard()
    {
        var request = new GetLeaderboardRequest
        {
            StartPosition = 0, StatisticName = "HighScore", MaxResultsCount = 100, ProfileConstraints = new PlayerProfileViewConstraints()
            {
                ShowLocations = true, ShowDisplayName = true
            }
        };

        PlayFabClientAPI.GetLeaderboard(request, (result) =>
        {
            for (int i = 0; i < rankings.Length; i++)
            {
                if (i < result.Leaderboard.Count)
                {
                    var curBoard = result.Leaderboard[i];
                    rankings[i].transform.GetChild(0).GetComponent <Text>().text = curBoard.Profile.Locations[0].CountryCode.Value + " / " + curBoard.StatValue + "win [" + curBoard.DisplayName + "]";
                    if (curBoard.DisplayName == NickName)
                    {
                        myRank.text = "My win count : " + curBoard.StatValue;
                    }
                }
                else
                {
                    rankings[i].transform.GetChild(0).GetComponent <Text>().text = "None";
                }
            }
        },
                                        (error) => print("리더보드 불러오기 실패!"));
    }
Exemplo n.º 4
0
    public void getGameLeaderBoard()
    {
        //MenuController.instance.PanelLoading.SetActive(true);
        List <PlayerLeaderboardEntry> respone = null;
        string _StatisticName = "";

        GetLeaderboardRequest request = new GetLeaderboardRequest()
        {
            StatisticName   = _StatisticName,
            MaxResultsCount = 100
        };

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

            /*if (responeObj != null)
             * {
             *      responeObj.onLeaderboardGetted(respone);
             * }*/
        },
                                        (error) => {
            Debug.Log("Error getting game leaderboard:");
            Debug.Log(error.ErrorMessage);
            Debug.Log(error.ErrorDetails);
        });
    }
Exemplo n.º 5
0
    public void GetLeaderBoard()
    {
        PlayerStatiticsName = inputPlayerStatitics.text;

        GetLeaderboardRequest rq = new GetLeaderboardRequest()
        {
            StartPosition = 1,
            StatisticName = PlayerStatiticsName
        };

        PlayFabClientAPI.GetLeaderboard(rq, (result) =>
        {
            result.Version = 0;

            for (int i = 0; i < result.Leaderboard.Count; i++)
            {
                PlayerLeaderboardEntry entry = result.Leaderboard[i];

                LeaderboardResult.text = entry.Position + " " + entry.DisplayName + " " + entry.StatValue + "\n";
                notify.text            = "Get LeaderBoard Success!";
            }
        },

                                        (error) =>
        {
            notify.text = error.ErrorMessage;
        });
    }
Exemplo n.º 6
0
    /* 学生作业:实现排行榜按钮的响应函数
     * 作业提示:
     * 首先,启用leaderboardLoadingLabel,提示排行榜正在加载;
     * 其次,禁用排行榜中的前三名和本地玩家信息面板,在排行榜加载过程中不应该显示这些信息;
     * 接着,设置leaderboardType字段,标志显示的是什么数据的排行榜,在之后的SetLeadboard设置排行榜界面信息时会用到该参数;
     * 然后,初始化本地玩家信息面板,包括玩家的排名(初始化为‘-’,表示未进入排行榜)、该项统计数据的显示以及玩家的奖牌(初始化为metalCourage);
     * 最后,使用GetLeaderboardRequest声明账号登录请求,再使用PlayFabClientAPI.GetLeaderboard,获取玩家排行榜信息;
     * (GetLeaderboardRequest需要设置两个参数,MaxResultsCount表示获取排行榜前MaxResultsCount名玩家的信息,StatisticName表示玩家排行榜的统计数据)
     * 获取成功,调用OnGetLeaderboard函数,将排行榜信息显示玩家排行榜界面。
     * 获取失败,根据错误类型提示玩家排行榜获取失败原因,在控制台输出错误信息
     */

    //“累计杀敌数”按钮的响应函数
    public void ClickTotalKillButton()
    {
        //启用leaderboardLoadingLabel,提示排行榜正在加载;
        leaderboardLoadingLabel.SetActive(true);
        //禁用排行榜中的前三名和本地玩家信息面板,在排行榜加载过程中不应该显示这些信息;
        foreach (GameObject go in users)
        {
            go.SetActive(false);
        }
        localUser.SetActive(false);
        leaderboardType = "累计杀敌数";
        //初始化本地玩家信息面板,包括玩家的排名(初始化为‘-’,表示未进入排行榜)、该项统计数据的显示以及玩家的奖牌(初始化为metalCourage);
        localUserTexts[0].text = "-";
        localUserTexts[2].text = leaderboardType + ": " + PlayFabUserData.totalKill;
        localUserImage.sprite  = metalCourage;
        //使用GetLeaderboardRequest声明账号登录请求,再使用PlayFabClientAPI.GetLeaderboard,获取玩家排行榜信息;
        GetLeaderboardRequest request = new GetLeaderboardRequest()
        {
            //(GetLeaderboardRequest需要设置两个参数,MaxResultsCount表示获取排行榜前MaxResultsCount名玩家的信息,StatisticName表示玩家排行榜的统计数据)
            MaxResultsCount = users.Length,
            StatisticName   = "TotalKill"
        };

        PlayFabClientAPI.GetLeaderboard(request, OnGetLeaderboard, OnPlayFabError);
        //获取成功,调用OnGetLeaderboard函数,将排行榜信息显示玩家排行榜界面。获取失败,根据错误类型提示玩家排行榜获取失败原因,在控制台输出错误信息
    }
Exemplo n.º 7
0
    private void GetRanking()
    {
        var request = new GetLeaderboardRequest
        {
            StatisticName   = "JumpCount", // 統計情報名を指定します。
            StartPosition   = 0,           // 何位以降のランキングを取得するか指定します。
            MaxResultsCount = 100          // ランキングデータを何件取得するか指定します。最大が100です。
        };

        PlayFabClientAPI.GetLeaderboard(request, OnSuccess, OnError);

        void OnSuccess(GetLeaderboardResult leaderboardResult)
        {
            // 実際は良い感じのランキングを表示するコードにします。
            foreach (var item in leaderboardResult.Leaderboard)
            {
                // Positionは順位です。0から始まるので+1して表示しています。
                Debug.Log($"{item.Position + 1}位: {item.DisplayName} - {item.StatValue}回");
            }
        }

        void OnError(PlayFabError error)
        {
            Debug.Log($"{error.Error}");
        }
    }
Exemplo n.º 8
0
    void GetRanking()
    {
        if (!PlayFabClientAPI.IsClientLoggedIn())
        {
            Login(() => GetRanking());
            return;
        }

        GetLeaderboardRequest request = new GetLeaderboardRequest()
        {
            StatisticName   = "totalScore",
            StartPosition   = 0,
            MaxResultsCount = 100
        };

        PlayFabClientAPI.GetLeaderboard
        (
            request,
            result =>
        {
            rankUnits = new List <RankUnit>();
            result.Leaderboard.ForEach(entry =>
            {
                var unit = Instantiate(rankUnitPrefab, rankContentsParent);
                unit.Init(entry.Position + 1, entry.DisplayName, entry.StatValue);
                rankUnits.Add(unit);
                if (entry.PlayFabId == myID)
                {
                    myUnit = unit;
                }
            });
        },
            error => print(error.GenerateErrorReport())
        );
    }
Exemplo n.º 9
0
    public void Request(Action <List <PlayerLeaderboardEntry> > onReceiveLeaderboard, Action onCancel = null)
    {
        var connectingView = ConnectingView.Show();

        var request = new GetLeaderboardRequest {
            MaxResultsCount = MaxEntriesCount,
            StatisticName   = StatisticName,
        };

        PlayFabClientAPI.GetLeaderboard(
            request,
            _result => {
            DebugLogLeaderboard(_result);

            connectingView.Close();
            onReceiveLeaderboard?.Invoke(_result.Leaderboard);
        },
            _error => {
            var report = _error.GenerateErrorReport();
            Debug.LogError(report);

            connectingView.Close();
            ErrorDialogView.Show("GetLeaderboard failed", report, () => {
                Request(onReceiveLeaderboard, onCancel);
            }, onCancel);
        });
    }
Exemplo n.º 10
0
    public void OnLeaderboardsClick()
    {
        this.mainMenuPanel.SetActive(false);
        this.leaderboardsPanel.SetActive(true);

        // Check if user is logged
        if (!PlayFabClientAPI.IsClientLoggedIn())
        {
            return;
        }

        // Get leaderboards request
        GetLeaderboardRequest getLeaderboardRequest = new GetLeaderboardRequest
        {
            MaxResultsCount = 10,
            StatisticName   = "HighScore"
        };

        PlayFabClientAPI.GetLeaderboard(getLeaderboardRequest, OnGetLeaderboardSuccess, OnGetLeaderboardFailed);

        void OnGetLeaderboardSuccess(GetLeaderboardResult leaderboardResult)
        {
            this.leaderboardsPanelText.text = "";

            foreach (PlayerLeaderboardEntry entry in leaderboardResult.Leaderboard)
            {
                this.leaderboardsPanelText.text += $"{entry.Profile.DisplayName} : {entry.StatValue} \n";
            }
        }

        void OnGetLeaderboardFailed(PlayFabError error)
        {
            Debug.Log(error.GenerateErrorReport());
        }
    }
Exemplo n.º 11
0
    public void GetLeaderBoard()
    {
        var requestLeaderboard = new GetLeaderboardRequest {
            StartPosition = 0, StatisticName = "MaxScore", MaxResultsCount = 20
        };

        PlayFabClientAPI.GetLeaderboard(requestLeaderboard, OnSuccessGetLeaderboard, OnFailureGetLeaderboard);
    }
    public void GetLeaderboard()
    {
        var requestLeaderboard = new GetLeaderboardRequest {
            StartPosition = 0, StatisticName = "HighScore", MaxResultsCount = 10
        };

        PlayFabClientAPI.GetLeaderboard(requestLeaderboard, leaderboardresult, leaderboarderror);
    }
Exemplo n.º 13
0
    public void GetLeaderboarder()
    {
        var requestLeaderboard = new GetLeaderboardRequest {
            StartPosition = 0, StatisticName = "ObjectsDestroyed", MaxResultsCount = 20
        };

        PlayFabClientAPI.GetLeaderboard(requestLeaderboard, OnGetLeaderboard, OnErrorLeaderboard);
    }
Exemplo n.º 14
0
    public void GetLeaderboard()
    {
        var requestLeaderboard = new GetLeaderboardRequest {
            StartPosition = 0, StatisticName = "playerHighScore", MaxResultsCount = GameSettings.instance.displayEntriesNumber
        };

        PlayFabClientAPI.GetLeaderboard(requestLeaderboard, OnGetLeaderboard, OnGetLeaderboardError);
    }
Exemplo n.º 15
0
    public void DisplayLeaderboard()
    {
        GetLeaderboardRequest getLeaderboardRequest = new GetLeaderboardRequest {
            StatisticName = "FastestTime", MaxResultsCount = 10
        };

        PlayFabClientAPI.GetLeaderboard(getLeaderboardRequest, result => UpdateLeaderboardUI(result.Leaderboard), error => Debug.Log(error.ErrorMessage));
    }
Exemplo n.º 16
0
    public void GetLeaderboard()       //Get leaderboard data from database
    {
        var request = new GetLeaderboardRequest {
            StatisticName = "TimeScores", StartPosition = 0, MaxResultsCount = 6
        };

        PlayFabClientAPI.GetLeaderboard(request, OnLeaderboardGet, OnLoginFailure);
    }
Exemplo n.º 17
0
        public void ClientLeaderBoard(UUnitTestContext testContext)
        {
            var clientRequest = new GetLeaderboardRequest();

            clientRequest.MaxResultsCount = 3;
            clientRequest.StatisticName   = TEST_STAT_NAME;
            PlayFabClientAPI.GetLeaderboard(clientRequest, PlayFabUUnitUtils.ApiActionWrapper <GetLeaderboardResult>(testContext, GetClientLbCallback), PlayFabUUnitUtils.ApiActionWrapper <PlayFabError>(testContext, SharedErrorCallback), testContext);
        }
Exemplo n.º 18
0
    /// <summary>
    /// Gets the correct leaderboard from playfab using the difficulty parameter
    /// </summary>
    /// <param name="difficulty"></param>
    public void GetLeaderboard(string difficulty)
    {
        GetLeaderboardRequest glb = new GetLeaderboardRequest {
            StatisticName = $"{difficulty}_score", StartPosition = 0, MaxResultsCount = 10
        };

        PlayFabClientAPI.GetLeaderboard(glb, LeaderboardSuccess, OnFailure);
    }
Exemplo n.º 19
0
    public void GetLeaderboard()
    {
        var requestlederboard = new GetLeaderboardRequest {
            StartPosition = 0, StatisticName = "PlayerPoints", MaxResultsCount = 100
        };

        PlayFabClientAPI.GetLeaderboard(requestlederboard, OngetLederboard, onErorrlederboard);
    }
Exemplo n.º 20
0
    public void GetRatingboard()
    {
        var requestLeaderboard = new GetLeaderboardRequest {
            StartPosition = 0, StatisticName = "Rating", MaxResultsCount = 50
        };

        PlayFabClientAPI.GetLeaderboard(requestLeaderboard, OnGetRatingboard, OnErrorLeaderboard);
    }
Exemplo n.º 21
0
    //public InputField playerName;

    // Método que gera o prefab e pega a leaderboard do servidor quando for chamado.
    public void GetLeaderboarder()
    {
        var requestLeaderboard = new GetLeaderboardRequest {
            StartPosition = 0, StatisticName = "PlayerHighScore", MaxResultsCount = 10
        };

        PlayFabClientAPI.GetLeaderboard(requestLeaderboard, OnGetLeaderboard, OnErrorLeaderboard);
    }
Exemplo n.º 22
0
    public void GetLeaderBoard()
    {
        var request = new GetLeaderboardRequest();

        request.StartPosition = 0;
        request.StatisticName = "Coins";
        PlayFabClientAPI.GetLeaderboard(request, OnLeaderboardSuccess, OnPlayFabError);
    }
Exemplo n.º 23
0
    public void GetGoldLeaderboard()
    {
        var request = new GetLeaderboardRequest {
            StartPosition = 0, StatisticName = "Gold", MaxResultsCount = 10
        };

        PlayFabClientAPI.GetLeaderboard(request, OnGetGoldLeaderboard, OnUpdateFailure);
    }
Exemplo n.º 24
0
    public void GetLeaderboardData()
    {
        var request = new GetLeaderboardRequest
        {
            StartPosition = 0, StatisticName = "Score", MaxResultsCount = 30
        };

        PlayFabClientAPI.GetLeaderboard(request, OnGetLeaderboardSuccess, OnError);
    }
Exemplo n.º 25
0
    // 리더보드 호출 함수
    public void GetLeaderBoard()
    {
        var request = new GetLeaderboardRequest();

        request.StartPosition   = 0;        // 시작 포지션
        request.MaxResultsCount = 100;      // 총 조회 계정 수
        request.StatisticName   = "score";  // 리더보드 이름
        PlayFabClientAPI.GetLeaderboard(request, OnLeaderboardSuccess, OnPlayFabError);
    }
Exemplo n.º 26
0
    // Start is called before the first frame update
    void Start()
    {
        var requestLeaderboard = new GetLeaderboardRequest
        {
            StartPosition = 0, StatisticName = "Score", MaxResultsCount = 20
        };

        PlayFabClientAPI.GetLeaderboard(requestLeaderboard, OnGetLeaderboard, OnErrorLeaderboard);
    }
Exemplo n.º 27
0
    public void GetLeaderboard()
    {
        var request = new GetLeaderboardRequest {
            StatisticName   = "Highest Score",
            StartPosition   = 0,
            MaxResultsCount = 10
        };

        PlayFabClientAPI.GetLeaderboard(request, OnLeaderboardGet, OnError);
    }
Exemplo n.º 28
0
    public void GetLeaderboard(Leaderboard board, Action <GetLeaderboardResult> cb, Action <PlayFabError> errorCb, bool previousSeason = false, int startPosition = 0, int maxCount = 50)
    {
        GetLeaderboardRequest request = new GetLeaderboardRequest
        {
            StatisticName   = PlayFabLeaderboard.GetBoardName(board, previousSeason),
            StartPosition   = startPosition,
            MaxResultsCount = new int?(maxCount)
        };

        PlayFabClientAPI.GetLeaderboard(request, cb, errorCb, null, null);
    }
Exemplo n.º 29
0
        public void LeaderBoard(UUnitTestContext testContext)
        {
            var clientRequest = new GetLeaderboardRequest
            {
                MaxResultsCount = 3,
                StatisticName   = TEST_STAT_NAME,
            };
            var clientTask = clientApi.GetLeaderboardAsync(clientRequest, null, testTitleData.extraHeaders);

            ContinueWithContext(clientTask, testContext, LeaderBoardContinued, true, "Failed to get client leaderboard", true);
        }
Exemplo n.º 30
0
        public void LeaderBoard(UUnitTestContext testContext)
        {
            var clientRequest = new GetLeaderboardRequest
            {
                MaxResultsCount = 3,
                StatisticName   = TEST_STAT_NAME,
            };
            var clientTask = PlayFabClientAPI.GetLeaderboardAsync(clientRequest);

            ContinueWithContext(clientTask, testContext, LeaderBoardContinued, true, "Failed to get client leaderboard", true);
        }