如何确定本地玩家是否赢得了 Google Play TurnBasedMatch?
How to determine if Local Player won a Google Play TurnBasedMatch?
我正在使用 Xamarin.Android 和 MonoGame 制作 Android 游戏。我正在使用 Google Play 的 TurnBasedMatch API 来处理游戏的多人游戏方面。
在比赛结束时,我想确定 本地玩家 (登录 Google 在设备上玩游戏的玩家)是否赢得了比赛比赛。基本上,我希望能够适当地说 "You Win!" 或 "You Lose!"。
令人惊讶的是,我无法在 TurnBasedMatch 库中找到任何东西来确定 I 是否赢得了比赛。我确定我一定遗漏了一些明显的东西。有没有人找到确定这些信息的方法?
谢谢!!
我能够通过演绎来解决这个限制。我的游戏只有 2 名玩家,所以我用 getDescriptionParticipant ("Get the participant representing the primary opponent in the match.") 检查对手的名字,如果是 而不是 获胜参与者的名字 (我的游戏商店)然后我知道本地玩家赢了。
你可以这样做:
String localPlayerId = Games.Players.getCurrentPlayerId( getApiClient());
Participant localParticipant = mMatch.getParticipant( mMatch.getParticipantId( localPlayerId));
ParticipantResult result = localParticipant.getResult();
if (result != null && result.getResult() == ParticipantResult.MATCH_RESULT_WIN) {
// Local player won, show greetings...
}
注意:要使其正常工作,您之前必须调用 finishMatch(..),参与者结果如下:
List<ParticipantResult> participantResults = new ArrayList<ParticipantResult>();
participantResults.add( new ParticipantResult( participantId1, ParticipantResult.MATCH_RESULT_WIN, 1));
participantResults.add( new ParticipantResult( participantId2, ParticipantResult.MATCH_RESULT_LOSS, 2));
Games.TurnBasedMultiplayer.finishMatch(
getApiClient(),
mMatch.getMatchId(),
gameData,
participantResults
);
我正在使用 Xamarin.Android 和 MonoGame 制作 Android 游戏。我正在使用 Google Play 的 TurnBasedMatch API 来处理游戏的多人游戏方面。
在比赛结束时,我想确定 本地玩家 (登录 Google 在设备上玩游戏的玩家)是否赢得了比赛比赛。基本上,我希望能够适当地说 "You Win!" 或 "You Lose!"。
令人惊讶的是,我无法在 TurnBasedMatch 库中找到任何东西来确定 I 是否赢得了比赛。我确定我一定遗漏了一些明显的东西。有没有人找到确定这些信息的方法?
谢谢!!
我能够通过演绎来解决这个限制。我的游戏只有 2 名玩家,所以我用 getDescriptionParticipant ("Get the participant representing the primary opponent in the match.") 检查对手的名字,如果是 而不是 获胜参与者的名字 (我的游戏商店)然后我知道本地玩家赢了。
你可以这样做:
String localPlayerId = Games.Players.getCurrentPlayerId( getApiClient());
Participant localParticipant = mMatch.getParticipant( mMatch.getParticipantId( localPlayerId));
ParticipantResult result = localParticipant.getResult();
if (result != null && result.getResult() == ParticipantResult.MATCH_RESULT_WIN) {
// Local player won, show greetings...
}
注意:要使其正常工作,您之前必须调用 finishMatch(..),参与者结果如下:
List<ParticipantResult> participantResults = new ArrayList<ParticipantResult>();
participantResults.add( new ParticipantResult( participantId1, ParticipantResult.MATCH_RESULT_WIN, 1));
participantResults.add( new ParticipantResult( participantId2, ParticipantResult.MATCH_RESULT_LOSS, 2));
Games.TurnBasedMultiplayer.finishMatch(
getApiClient(),
mMatch.getMatchId(),
gameData,
participantResults
);