Game CenterのGKMatchクラスを使用して、切断されたプレーヤーを適切に再招待する方法を理解することができません。ゲームは1対1のゲームです。Game Centerのプレーヤーを再接続する
私は切断プレーヤーを検出したとき、私はこの呼び出しで試合にその特定のプレーヤーをREINVITEしよう:
[[GKMatchmaker sharedMatchmaker] addPlayersToMatch:theMatch matchRequest:request completionHandler:^(NSError *error)
行うことになっていますので、これは動作します。他のプレイヤーが接続を確立すると、彼は再獲得され、試合は続行できます。しかし、これは私が解決できなかった問題を残す。シナリオは次のとおりです。
- プレーヤー1が切断されます。
- プレーヤー1が切断されている間、プレーヤー2は試合を離れます。
- プレーヤー1は、プレーヤー2に接続できなくなったことを再接続して検出し、プレーヤー2に再接続しようとします。
- プレイヤー2はmatchmakerViewControllerを使って新しいマッチを探しています。
- プレーヤー2は突然、彼が残したプレーヤー1との古い試合に参加します。
私の問題は、matchmakerViewControllerが再招待されている場合、古いマッチに参加することです。この再接続のシナリオを処理するより良い方法があるので、人々は古い試合に招待されることはありませんか?
私のコードでは、1人プレイヤーが切断されたときに、他のプレイヤーが自動的にゲームから切断されることが起こっています。そういうことでしょうか?プレイヤー1のこの切断を避けるには –