Game Center 的回合制匹配界面允许用户创建与多个玩家的匹配,并在其中一些位置邀请好友,而让其他位置进行自动匹配。
我正在创建我们自己的游戏内匹配创建界面,到目前为止,它运行良好,除了创建与受邀玩家和自动匹配玩家的匹配。
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);
}
}];
}