2012-12-03 7 views
6

Pracuje nad turową grą dla dwóch graczy, która używa niestandardowego interfejsu użytkownika do zarządzania meczami. Rozważenie ograniczenia aplikacji do iOS 6+ w celu wykorzystania limitów czasu dla graczy. Chciałbym pokazać użytkownikowi pozostałą ilość czasu na przeniesienie, ale uczestnik.timeoutData ma zawsze wartość zerową? Zgodnie z wideo WWDC 2012 (które mówi, że limit czasu nie dotyczy ostatniego uczestnika w kolejnych Uczestnikach), przekazuję tablicę z dwoma wpisami (przeciwnik o indeksie 0 i lokalnym graczem o indeksie 1) podczas wywoływania endTurnWithNextParticipants: turnTimeout: matchData: completionHandler : aby skręcić. Próbowałem zarówno GKTurnTimeoutDefault i różnych literałów całkowitych ... bez powodzenia ... zawsze wydaje się mieć wartość zerową. Data ostatniego skrętu gracza działa dobrze.Uczestnik z turową partyturą Limit czasu zawsze NULL

Odnośnie limitu czasu odtwarzacza ... po tym, jak je uruchomię, w jaki sposób jest to dostarczane? Widzę GKTurnBasedMatchOutcomeTimeExpired ... czy to się dzieje w turnieju turowym?

+1

Czy kiedykolwiek poczyniłeś postępy w tym zakresie? Stoję naprzeciwko tego samego. Wszystkie moje daty przekroczenia limitu czasu są zerowe nawet przy ustawianiu limitu czasu. – rymagno

Odpowiedz

1

Od forum dla programistów Apple

Elian Gidoni -

+1 Doc powinny być: timeoutDate data i czas, kiedy kolej uczestnika timed out. (tylko do odczytu)

+0

Wygląda również na to, że po przekroczeniu limitu czasu jego wartość limitu czasu jest zawsze ustawiana na tę wartość, nawet po rozpoczęciu nowej kolejki, chyba że/do czasu przekroczenia limitu czasu. Zacząłem sprawdzać, czy timeout nie był wystarczający do określenia, czy gracz miał limit czasu i stwierdził, że raz ustawiony, nigdy nie wraca do zera nigdy więcej. Jeśli musisz wiedzieć, że ktoś przekroczył limit czasu w danej turze, musisz to sprawdzić w matchData. – Thunk