Я настраиваю систему списка лидеров в моей игре Unity, используя плагин Google Play Games Services.
Я хочу загрузить счет, чтобы интегрировать их в свой пользовательский LeaderbordUI, я следовал документации ииспользовал ILeaderboard.LoadScores, но он не работает.
когда я проверяю logcat, я получаю это:
02-04 11: 03: 56.580: W / Unity (18969):!!![Play Games Plugin DLL] 04/02/19 11:03:56 +01: 00 ПРЕДУПРЕЖДЕНИЕ: ошибка возвращается из выборки: -108
Я попытался загрузитьScore методом "Social.LoadScores""и" PlayGamesPlatform.Instance.LoadScores ", но я получаю то же предупреждение.
PS: когда я использую Social.ShowLeaderboardUI (), он показывает мне таблицу лидеров.но когда я использую PlayGamesPlatform.Instance.ShowLeaderboardUI (LB_Stars.id), чтобы показать конкретную таблицу лидеров, это дает мне «хм, что-то пошло не так в играх»
public void LoadLeaderboard()
{
LB_Stars.LoadScores(ok =>
{
if (ok)
{
LoadUsersAndDisplay(LB_Stars);
}
else
{
Debug.Log("Error retrieving STARS leaderboard");
}
});
}
internal void LoadUsersAndDisplay(ILeaderboard lbStar)
{
Debug.Log("gonna load user and display them");
List<string> userIds = new List<string>();
foreach (IScore score in lbStar.scores)
{
userIds.Add(score.userID);
}
Social.LoadUsers(userIds.ToArray(), (users) =>
{
string status = "Leaderboard loading: " + lbStar.title + " count = " +
lbStar.scores.Length;
foreach (IScore score in lbStar.scores)
{
IUserProfile user = FindUser(users, score.userID);
if (user != null)
{
UserLeaderboardClone = Instantiate(UserLeaderboardPrefab);
UserLeaderboardClone.name = score.rank.ToString();
LeaderboardUserScript lbUser = UserLeaderboardClone.GetComponent<LeaderboardUserScript>();
lbUser.transform.SetParent(LBScrollview.content.transform, false);
FillUserInfo(lbUser, user, score);
}
}
});
}