【发布时间】:2020-05-06 17:52:24
【问题描述】:
我需要从 Playfab 排行榜列表中获得最高分并将其显示在 Unity 中。我可以得到最高分,然后将其分配给全局变量。我的函数返回这个变量,但它总是返回为零。排行榜中的最高分值为 50。
// GETS THE QUIZ'S, THAT THE USER HAS CLICKED, HIGHEST SCORE VALUE FROM THE PLAYFAB LEADERBOARD.
public int GetLeaderboardList()
{
var request = new GetLeaderboardRequest();
request.StartPosition = 0;
request.StatisticName = QuizButtonClicked.clickedButtonQuiz.name; // the button that the user has clicked.
request.MaxResultsCount = 20;
PlayFabClientAPI.GetLeaderboard(request, (result) =>
{
topScoreOnLeaderboard = result.Leaderboard.ElementAt(0).StatValue;
Debug.LogError(result.Leaderboard.ElementAt(0).StatValue); // 1- Result is 50.
Debug.LogError(topScoreOnLeaderboard); // 2- Result is 50.
}, (error) =>
{
Debug.LogError(error.GenerateErrorReport());
});
Debug.LogError(topScoreOnLeaderboard); // 3- But here it gives 0.
return topScoreOnLeaderboard;
}
编辑:调试日志顺序为 3-1-2。
【问题讨论】:
-
PlayFabClientAPI.GetLeaderboard()会在继续执行之前等待响应吗? -
@Jake 是的,会的。