如何覆盖google游戏服务API中的declineInvitation()方法的默认行为?

时间:2014-07-28 20:35:44

标签: java android google-play-games

对于基于回合制的多人游戏,如果你调用declineInvitation()

,则在开始比赛时
  

用户的参与者状态更改为STATUS_DECLINED,匹配状态更改为MATCH_STATUS_CANCELED

我不想在玩家拒绝时取消比赛,但希望其他玩家继续比赛。所以基本上我想将匹配的状态设置为 MATCH_TURN_STATUS_INVITED 或类似的东西。

我正在使用baseGameUtils库,并浏览基于回合制的游戏示例TbmpSkeleton

2 个答案:

答案 0 :(得分:0)

尝试调用DismissInvitation()而不是DeclineInvitation().. DismissInvitation不会改变其他玩家的游戏状态。

请查看以下链接以获取更多信息:https://developer.android.com/reference/com/google/android/gms/games/multiplayer/turnbased/TurnBasedMultiplayer.html#declineInvitation%28com.google.android.gms.common.api.GoogleApiClient,%20java.lang.String%29

答案 1 :(得分:0)

在这种情况下,您不想拒绝邀请,您只想忽略它。状态最初为 MATCH_TURN_STATUS_INVITED 。如果你忽略它,它将保持这样,这就是你想要的。

为了忽略邀请,请不要回复。

否则,您可以覆盖onInvitationReceived()并显示自己的提醒对话框,当用户点击拒绝邀请时,该对话框无效。