Подтвердить что ты не робот

Подключите игрока в Game Center

У меня возникли проблемы с выяснением того, как успешно создать отключенный плеер, используя класс GKMatch для Game Center. Игра - игра 1 против 1.

Когда я обнаруживаю отключенного игрока, я пытаюсь повторно связать этого конкретного игрока с этим вызовом:

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

Это работает так, как должно было. Когда другой игрок установил соединение, он будет восстановлен, и совпадение может продолжаться. Но это оставляет проблему, которую я не смог решить. Вот сценарий:

  • Игрок 1 отключается.
  • Игрок 2 оставляет совпадение, пока игрок 1 отключен.
  • Игрок 1 повторно подключается и обнаруживает, что он потерял соединение с Игроком 2 и пытается снова подключиться к плееру.
  • Игрок 2 ищет новый матч, который он делает с matchmakerViewController.
  • Игрок 2 внезапно присоединяется к старому матчу с игроком 1, который у него остался.

Итак, моя проблема в том, что matchmakerViewController позволяет игрокам присоединиться к старым матчам, если они будут восстановлены. Есть ли лучший способ справиться с этим повторным подключением, чтобы люди не получили приглашение вернуться к старым матчам?

4b9b3361

Ответ 1

Вы можете предоставить плеер игроку, который все еще подключен, либо повторно пригласить, либо выйти. Вы также можете удалить запрос на свадьбу игроку, который ушел, если другой игрок уйдет.

Ответ 2

Я бы продолжил и предотвратил повторное включение игрока 1 в ту же игру, если я обнаружил, что Player 2 использовал функцию quit вместо тайм-аута при отключении.