Обновление matchData в GKTurnBasedMatch без окончания хода - PullRequest
4 голосов
/ 12 декабря 2011

Кажется, что GameKit позволяет обновлять GKTurnBasedMatch только один раз, когда GKTurnBasedMatch загружается с серверов Game Center. Есть ли другой способ обновить свойство matchData?

Ответы [ 2 ]

4 голосов
/ 14 февраля 2012

Вы можете вызывать `-

[GKTurnBasedMatch (void)loadMatchDataWithCompletionHandler:(void (^)(NSData *matchData, NSError *error))completionHandler];

так часто, как хотите, чтобы получать обновленные данные matchData.Если вы хотите делать дополнительные шаги, вы также можете сделать -

[GKTunrBasedMatch - (void)endTurnWithNextParticipant:(GKTurnBasedParticipant *)nextParticipant matchData:(NSData *)matchData completionHandler:(void (^)(NSError *error))completionHandler];

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

1 голос
/ 18 февраля 2013

Следующий метод был добавлен в GKTurnBasedMatch в iOS 6.0 и будет делать то, что вам нужно:

- (void)saveCurrentTurnWithMatchData:(NSData *)matchData
                   completionHandler:(void (^)(NSError *error))completionHandler

«Обновить данные матча, не переходя в игру другому игроку»

...