2015-03-22 2 views
0

Я хочу реализовать настраиваемое диалоговое окно на обратном вызове onInvitationReceived(Invitation invitation). Он будет иметь 2 варианта - «принять» и «отклонить».Как реализовать пользовательский диалог для принятия пошаговой многопользовательской игры?

Я успешно реализовал действие «отклонить». Упрощенный код ниже -

@Override 
public void onInvitationReceived(Invitation invitation) { 
    String invitationId = invitation.getInvitationId(); 

    if (/*code for selecting 'reject' action*/) { 
     Games.TurnBasedMultiplayer.declineInvitation(mGoogleApiClient, invitationId); 
    } 
} 

Но как же я реализую «принять» меры? В частности, всего Invitation объект. Мне понадобится объект TurnBasedMatch, чтобы начать матч на приглашенных игроках.

Следующая ссылка от разработчиков Google перечисляет только способ показать представление по умолчанию для «принятия» (или «отклонения») игры.

https://developers.google.com/games/services/android/turnbasedMultiplayer#handling_invitations

ответ

1

мне удалось решить эту проблему самостоятельно. Ниже приведен упрощенный код, чтобы «принять» приглашение на игру и получить объект матча -

PendingResult<TurnBasedMultiplayer.InitiateMatchResult> pendingResult = 
    Games.TurnBasedMultiplayer.acceptInvitation(mGoogleApiClient, invitationId); 

pendingResult.setResultCallback(new ResultCallback<TurnBasedMultiplayer.InitiateMatchResult>() { 
    @Override 
    public void onResult(TurnBasedMultiplayer.InitiateMatchResult result) { 
     if (result.getStatus().getStatusCode() == GamesStatusCodes.STATUS_OK) { 
      TurnBasedMatch match = result.getMatch(); 
      // do something with match ... 
     } 
    } 
}); 
Смежные вопросы