2012-12-03 5 views
6

Ho lavorato a un gioco a turni a due giocatori che utilizza un'interfaccia utente personalizzata per la gestione delle partite. Considerando di limitare l'app a iOS 6+ per utilizzare i timeout del player. Vorrei mostrare all'utente il tempo rimanente per spostarsi, ma il participant.timeoutDate è sempre nullo? Secondo il video WWDC 2012 (che dice che il timeout non si applica all'ultimo partecipante in nextParticipants), passo un array con due voci (avversario all'indice 0 e giocatore locale all'indice 1) quando si chiama endTurnWithNextParticipants: turnTimeout: matchData: completionHandler : fare un giro. Ho provato sia GKTurnTimeoutDefault che vari letterali interi ... non c'è fortuna ... sembra sempre essere nullo. L'ultima data di turno del giocatore funziona bene.Data di scadenza del partecipante basata su turni Sempre NULL

In tema di timeout del lettore ... dopo averlo fatto funzionare, come viene consegnato? Vedo GKTurnBasedMatchOutcomeTimeExpired ... viene in un evento di svolta?

+1

Hai mai fatto progressi con questo problema? Sto affrontando la stessa identica cosa. Tutte le mie date di timeout sono nulle anche quando si imposta un intervallo di timeout. – rymagno

risposta

1

Dal forum degli sviluppatori di Apple

Elian Gidoni -

+1 Il documento dovrebbe essere: timeoutDate La data e l'ora in cui il turno del partecipante scaduta. (sola lettura)

+0

Sembra inoltre che una volta scaduto un utente, il loro valore di timeout sia sempre impostato su quel valore, anche quando inizia un nuovo turno, a meno che/fino a quando non scadono di nuovo. Ho iniziato a controllare se il timeout era pari a zero per determinare se un giocatore aveva il timeout e ha scoperto che una volta impostato, non torna mai più a zero. Se hai bisogno di sapere che qualcuno ha un timeout in un dato turno, dovrai tracciarlo da solo nei MatchData. – Thunk