Game Center基於回合的比賽制作界面允許用戶創建與多名玩家的比賽,並向邀請朋友填充其中一些地點並留下其他人用於自動匹配。創建GKTurnBasedMatch,包含受邀玩家和自動匹配玩家
我正在創建自己的遊戲中的比賽創作界面,迄今爲止工作正常,除了與受邀和自動比賽的球員創建比賽。
GKMatchmaker有addPlayersToMatch方法,我相信你可以在匹配存在的時候添加自動匹配的玩家,但是GKTurnBasedMatch沒有等價的方法。
以下是我正在使用的代碼,它工作得很好。如果有人知道如何添加一些自動匹配的球員,將非常感謝!
- (GKMatchRequest *) buildMatchRequestWithFriends: (NSArray *) friendsList NumberOfPlayers: (NSInteger) numberOfPlayers
{
NSLog(@"TurnByTurnHelper.buildMatchRequestWithFriends");
GKMatchRequest *request = [[GKMatchRequest alloc] init];
NSArray *playersToInvite = [NSArray arrayWithArray:friendsList];
request.playersToInvite = playersToInvite;
request.defaultNumberOfPlayers = numberOfPlayers + 1;
return request;
}
- (void) requestMatchWithFriends:(NSArray *) friendsList NumberOfPlayers: (NSInteger) numberOfPlayers{
if (!_delegate)
{
NSLog(@"Error: Expected but did not find delegate");
return;
}
GKMatchRequest *request = [self buildMatchRequestWithFriends:friendsList NumberOfPlayers: numberOfPlayers];
[GKTurnBasedMatch findMatchForRequest: request withCompletionHandler:^(GKTurnBasedMatch *match, NSError *error)
{
if (match){
NSLog(@"findMatchForRequest: Success!");
// Add match to matches
} else {
NSLog(@"error: %@", error);
}
}];
}