Получить рейтинг игрока с помощью Google Play - PullRequest
0 голосов
/ 03 июня 2018

Я хотел бы знать, возможно ли получить рейтинг фактического игрока в данных таблицы лидеров?

Я хочу сделать это для пользовательского интерфейса таблицы лидеров.

I 'м, используя единство и Google Play игры

1 Ответ

0 голосов
/ 03 июня 2018

Не знаете, как получить звание с помощью официального google-play-games SDK, если вы этим пользуетесь.

С Unity's Social APIВы можете получить звание игрока с помощью IScore.rank.Сначала загрузите оценки с Social.LoadScores, что даст вам массив IScore.Зацикливайтесь на этом и сравнивайте IScore.userID, пока не найдете идентификатор пользователя, за которого хотите получить ранг, затем получите IScore.rank.

void GetUserRank(string user, Action<int> rank)
{
    Social.LoadScores("Leaderboard01", scores =>
    {
        if (scores.Length > 0)
        {
            Debug.Log("Retrieved " + scores.Length + " scores");

            //Filter the score with the user name
            for (int i = 0; i < scores.Length; i++)
            {
                if (user == scores[i].userID)
                {
                    rank(scores[i].rank);
                    break;
                }
            }
        }
        else
            Debug.Log("Failed to retrieved score");
    });
}

Использование :

int rank = 0;
GetUserRank("John", (status) => { rank = status; });
Debug.Log("John's rank is: " + rank);

или

string id = Social.localUser.id;
//string id = PlayGamesPlatform.Instance.localUser.id;
int rank = 0;
GetUserRank(id, (status) => { rank = status; });
Debug.Log(id + "'s rank is: " + rank);

Конечно, вам придется выполнить некоторые аутентификационные действия, потому что вы можете сделать это.

...