Решите, кто является первым и вторым игроком в раундовой игре с помощью Google Play Game Services

У меня есть многопользовательская многопользовательская игра для Android, которая раньше работала на XMPP, и я хочу перейти на Google Play Game Services. В старой версии был бот XMPP, решавший, кто из игроков будет игроком 1 или 2. Важно знать, какой игрок должен сделать первый ход.

С Google Play Game Services я нашел решение, которое почти работает:

@Override
public void onRoomConnected(int statusCode, Room room) {
    ArrayList participants = room.getParticipants();
    Participant first = participants.get(0);
    if (first.getPlayer() == null || !first.getPlayer().getPlayerId().equals(myPlayerId)) {
        LaskaField.HUMAN_PLAYER = 2;
        LaskaField.OTHER_PLAYER = 1;
        opponent = first.getDisplayName();
    } else {
        LaskaField.HUMAN_PLAYER = 1;
        LaskaField.OTHER_PLAYER = 2;
        opponent = participants.get(1).getDisplayName();
    }
    setPlayerNames();
}

Этот способ отлично работает при приглашении другого игрока. Тем не менее, часто происходит сбой, когда оба игрока выбирают автоматическое соответствие. В этом случае оба игрока находятся на одной позиции в ArrayList участников. Следовательно, они оба будут отображаться как один и тот же плеер на используемом в данный момент устройстве.

Как правильно выбрать игрока 1 и 2, без централизованного решения для этого? Есть ли в списке участников полезные данные, которые я не сделал?найти с помощью отладчика?

Ответы на вопрос(2)

Ваш ответ на вопрос