Game Center 向けのゲームを開発しています。
ゲームの説明:-
ゲームには 5 つのタイル マップがあるため、1 人のプレイヤーがゲームのイニシエーターになります (いずれかのプレイヤー (イニシエーター) によってランダムに 1 つのタイル マップのみが選択されます)。イニシエーターは選択したタイルマップを 2 番目のプレイヤーに送信します。このタイルマップは 2 番目のプレイヤー側で描画されます (この時点で両方のプレイヤーが同じタイルマップを持っています)。
これは、プレイヤーに招待状を送信してゲームを開始すると正常に動作します。
しかし、「オートマッチ」でゲームを開始すると、誰がイニシエーターになるのか(ランダムに選択されたタイルマップを送信するのは誰なのか)を見つけることができません。
このコードで 1 つのプレイヤー イニシエーターを作成しました。
isThisInvited_Player = YES;
[[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_INVITATION_ACCEPTED object:nil];
- (void)authenticationChanged {
if ([GKLocalPlayer localPlayer].isAuthenticated && !userAuthenticated) {
userAuthenticated = TRUE;
[GKMatchmaker sharedMatchmaker].inviteHandler = ^(GKInvite *acceptedInvite, NSArray *playersToInvite) {
isThisInvited_Player = YES;
self.pendingInvite = acceptedInvite;
self.pendingPlayersToInvite = playersToInvite;
[[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_INVITATION_ACCEPTED object:nil];
};
} else if (![GKLocalPlayer localPlayer].isAuthenticated && userAuthenticated) {
userAuthenticated = FALSE;
}
}
"automatch" でデータ同期ができない場合、game-center-view-controller で automatch(Play) ボタンを無効にする方法を教えてください。