2012-12-03 3 views
6

Sie haben an einem rundenbasierten Spiel mit zwei Spielern gearbeitet, das eine benutzerdefinierte Benutzeroberfläche für die Spielverwaltung verwendet. In Betracht ziehen, die App auf iOS 6+ zu beschränken, um Player-Timeouts zu verwenden. Ich möchte dem Benutzer die verbleibende Zeit zum Verschieben zeigen, aber das Teilnehmer.timeoutDate ist immer null? Nach dem WWDC 2012-Video (das besagt, dass das Timeout nicht für den letzten Teilnehmer in nextParticipants gilt) gebe ich beim Aufrufen von endTurnWithNextParticipants ein Array mit zwei Einträgen (Gegner bei Index 0 und lokaler Spieler bei Index 1): turnTimeout: matchData: completionHandler : eine Runde machen. Ich habe sowohl GKTurnTimeoutDefault als auch verschiedene Integer-Literale ausprobiert ... kein Glück ... scheint immer Null zu sein. Das letzte Spieldatum des Spielers funktioniert einwandfrei.Rundenbasiertes Teilnehmer-Timeout-Datum Immer NULL

Zum Thema Spieler Timeouts ... nachdem ich sie funktioniere, wie wird das geliefert? Ich sehe GKTurnBasedMatchOutcomeTimeExpired ... kommt das in einem Turn Event? -

+1

Haben Sie jemals Fortschritte bei diesem Problem gemacht? Ich stehe genau vor der gleichen Sache. Alle meine Zeitüberschreitungsdaten sind null, selbst wenn ein Zeitüberschreitungsintervall festgelegt wird. – rymagno

Antwort

1

Von Apple Developer Forum

Elian Gidoni

+1 Der Doc sollte sein: timeoutDate Das Datum und die Zeit, wenn die Umdrehung des Teilnehmers abgelaufen. (schreibgeschützt)

+0

Es scheint auch so, dass der Timeout-Wert eines Malers immer dann auf diesen Wert gesetzt wird, wenn ein Benutzer das Zeitlimit überschreitet, auch wenn eine neue Runde beginnt, es sei denn, bis/bis sie erneut abläuft. Ich begann zu überprüfen, ob Timeout Null war, um zu bestimmen, ob ein Spieler ein Timedout hatte und stellte fest, dass es einmal nie wieder auf Null gesetzt wurde. Wenn du wissen musst, dass jemand in einem bestimmten Zug Zeitlimit hat, musst du das selbst in den MatchData nachverfolgen. – Thunk