2014-10-29 119 views
0

我使用谷歌Play遊戲服務和everythink工作正常(排行榜,隨機對手等等等等)禁用複賽在谷歌玩遊戲

但是當玩家召喚finishMatch(),match.canRematch()的狀態始終「真」,超出結果。 如果玩家贏得了戰鬥,可能無法要求複賽! 我用這個代碼發送結果:

Games.TurnBasedMultiplayer.finishMatch(mGoogleApiClient, 
      mMatch.getMatchId(), mMatch.getData(), myscore, creatorscore).setResultCallback(
      new ResultCallback<TurnBasedMultiplayer.UpdateMatchResult>() { 
       @Override 
       public void onResult(
         TurnBasedMultiplayer.UpdateMatchResult result) { 
         processResult(result); 
       } 
      }); 

我想禁用報復的可能性。我能怎麼做?

回答

0

好的。這IS一個答案。

API無法禁止重新匹配。

但是,我剛剛發現了一個可以達到相同效果的解決方法。

  1. 通過調用getMatchNumber()和getPreviousMatchData()來檢測匹配是否爲重新匹配。如果前者不是1或後者不爲空,則取消/取消匹配。它確保了複賽用戶輸入將具有與解僱相同的效果。

  2. 當匹配被完全完成(取消,過期,或MATCH_STATUS_COMPLETE & & MATCH_TURN_STATUS_COMPLETE),其關閉的時候了。它最大限度地減少了用戶甚至可以看到「Match complete,rematch」UI的機會。此檢查也可以定期檢查收件箱中的匹配項。