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.