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

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

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

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

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

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

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

18
задан Thomas Clemensen 17 April 2012 в 14:36
поделиться