【问题标题】:Disable Rematch in Google Play Games在 Google Play 游戏中禁用复赛
【发布时间】:2014-10-29 14:55:54
【问题描述】:

我使用 Google Play 游戏服务,everythink 工作正常(排行榜、随机对手等)

但是当玩家调用finishMatch() 时,match.canRematch() 的状态总是“true”,超出结果。 如果玩家已经赢得了战斗,可能无法要求重赛! 我使用此代码发送结果:

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

我想禁用复仇的可能性。我能怎么做?

【问题讨论】:

    标签: android google-play-games


    【解决方案1】:

    好的。这答案。

    API 无法禁止重新匹配。

    但是,我刚刚发现了一种可以达到相同效果的解决方法。

    1. 通过调用 getMatchNumber() 和 getPreviousMatchData() 检测匹配是否为重新匹配。如果前者不为 1 或后者不为空,则取消/取消匹配。它确保重新匹配的用户输入与解雇具有相同的效果。

    2. 当比赛完全完成(取消、过期或 MATCH_STATUS_COMPLETE && MATCH_TURN_STATUS_COMPLETE)时,立即将其关闭。它最大限度地减少了用户甚至看到“匹配完成,重新匹配”用户界面的机会。也可以定期检查收件箱中的匹配项。

    【讨论】:

    • 是啊……避免重赛的问题确实出在UI上。但是@Michael Lam 的第二点是我习惯的。只需执行dismiss()。它会将其从 UI 中剔除,因此知道要求重赛的机会!
    猜你喜欢
    • 2013-08-31
    • 1970-01-01
    • 2014-02-02
    • 2014-09-05
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 2019-01-14
    相关资源
    最近更新 更多