sesion iniciar game descargar apple app iphone objective-c ios game-center gamekit

iphone - iniciar - game center login



Reconectar jugador en Game Center (2)

Puede proporcionar una opción para el jugador que aún está conectado, ya sea para volver a invitar o para salir. También puedes eliminar la solicitud de emparejamiento al jugador que se fue si el otro jugador se va.

Estoy teniendo problemas para descubrir cómo volver a invitar a un jugador desconectado de una buena manera, usando la clase GKMatch para Game Center. El juego es un juego de 1 contra 1.

Cuando detecto un jugador desconectado, trato de volver a invitar a ese jugador específico al partido con esta llamada:

[[GKMatchmaker sharedMatchmaker] addPlayersToMatch:theMatch matchRequest:request completionHandler:^(NSError *error)

Esto funciona como se supone que debe hacer. Cuando el otro jugador ha establecido la conexión, se reinventa y el partido puede continuar. Pero esto deja un problema que no he podido resolver. Aquí viene el escenario:

  • El jugador 1 se desconecta.
  • El jugador 2 deja el partido mientras el jugador 1 está desconectado.
  • El jugador 1 vuelve a conectarse y detecta que perdió la conexión con el jugador 2 y trata de volver a conectarse con el jugador 2.
  • El jugador 2 está buscando una nueva partida, que está haciendo con el matchmakerViewController.
  • El jugador 2 se une repentinamente al antiguo partido con el jugador 1, que había dejado.

Así que mi problema es que el matchmakerViewController permite que los jugadores se unan a los partidos antiguos si son reinvitados. ¿Hay una mejor manera de manejar este escenario de reconexión para que las personas no sean invitadas a las antiguas coincidencias?


Seguiría adelante e impediría que el Jugador 1 reinvente en el mismo juego si detecto que el Jugador 2 ha usado la función para dejar de fumar en lugar de tener que desconectarse.