Mam problem z ustaleniem, jak przywrócić rozłączonego gracza w dobry sposób, używając klasy GKMatch dla Game Center. Gra jest grą 1 na 1.Ponownie podłącz odtwarzacz w Game Center
Kiedy wykryje odłączony gracz, staram się Zaproś ponownie tego konkretnego gracza do meczu z tej rozmowy:
[[GKMatchmaker sharedMatchmaker] addPlayersToMatch:theMatch matchRequest:request completionHandler:^(NSError *error)
Działa to jak to robić. Kiedy drugi gracz ustanowi połączenie, zostanie ponownie zaproszony i mecz może być kontynuowany. Pozostaje jednak problem, którego nie byłem w stanie rozwiązać. Oto scenariusz:
- Odtwarzacz 1 rozłącza się.
- Gracz 2 opuszcza mecz, gdy gracz 1 jest rozłączony.
- Gracz 1 ponownie łączy się i wykrywa, że utracił połączenie z Graczem 2 i próbuje ponownie połączyć się z graczem2.
- Gracz 2 szuka nowego meczu, który wykonuje z matchmakerViewController.
- Gracz 2 nagle dołącza do starego meczu z Graczem 1, który opuścił.
Moim problemem jest to, że matchmakerViewController pozwala graczom na dołączenie starych meczów, jeśli zostaną ponownie zainicjowani. Czy istnieje lepszy sposób na obsłużenie tego scenariusza ponownego połączenia, aby ludzie nie otrzymywali zaproszeń na stare mecze?
@ Ciastko.W moim kodzie dzieje się tak, że gdy 1play się rozłącza, inne automatycznie odłączają się od gry. Tak się dzieje ?, jak uniknąć tego rozłączenia gracza 1 przez gracza 2get diconnect –