IOS GameKit — есть ли способ принудительно создать совершенно новый пошаговый матч с помощью findMatchForRequest?

Согласно документации Apple (https://developer.apple.com/library/mac/#documentation/GameKit/Reference/GKTurnBasedMatch_Ref/Reference/Reference.html):

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

Есть ли способ принудительно создать новый матч, не позволяя игроку присоединиться к уже созданному?

Заранее спасибо!


person Nuno Miguel Fonseca    schedule 21.04.2013    source источник


Ответы (1)


Вы всегда можете запросить новый, если полученное совпадение не новое, проверив условие

match.matchData.length == 0

Но если вы сделаете это в соответствии с фиктивными принципами игрового центра, вы никогда не сможете сопоставить двух игроков. Потому что, если пользователь не сделал никаких ходов, другие игроки не смогут присоединиться к игре, и вы будете постоянно создавать новые свежие игры.

Один из способов превзойти это — добавить пустой ход первым игроком, и другие игроки смогут подключиться сейчас, поэтому после этого вы можете решить, какой игрок начинает, или позволить им выбирать игровые настройки и т. д. Но я не проверял это с рекомендации Apple, это может быть причиной отказа или около того.

person guenis    schedule 21.04.2013
comment
Если я запрошу новую игру, я не уверен, что не буду снова и снова присоединяться к уже запущенной игре. Но я думаю, что мне удалось включить некоторую логику, чтобы обойти это, спасибо :) - person Nuno Miguel Fonseca; 23.04.2013
comment
Я рад, если вы все равно воспользуетесь моим ответом :) - person guenis; 23.04.2013
comment
Приглашения в игровой центр не работают в эти дни, я не знаю, что происходит с сервером Game Center SandBox. Я надеюсь, что ваша проблема возникает из-за этого. - person Aitul; 02.05.2013