それは私だけですか、それとも Room の getCreatorId ()メソッドは自動対戦ゲームに固有のものではありませんか?
私のゲームには、どのプレイヤーがどのチームに所属するかなど、物事を決定する固有のエンティティに基づくいくつかのロジックがあります。各クライアントは、ゲームを起動してセットアップする前に、「ホスト」(この場合はルーム作成者) からこの情報を受け取るのを待ちます。
@Override
public void onRoomConnected(int status, Room room) {
// Game Lobby is full
if (status != GamesClient.STATUS_OK) {
return;
}
this.room = room;
// Assign the players teams
if (room.getParticipantId(activity.gameHelperManager.gameHelper.getGamesClient().getCurrentPlayerId()).equals(room.getCreatorId())) {
// Some logic here
activity.androidManager.sendMessage(Data Sent Here);
activity.game.startGame(GameType.MULTIPLAYER);
}
}
物事の反対側:
@Override
public void onRealTimeMessageReceived(RealTimeMessage message) {
// Get Message from host about game specific properties is here
if (data.contains(Message Tag Here)) {
// Parse information
activity.game.startGame(GameType.MULTIPLAYER);
}
}
ただし、各クライアントは、自動対戦タイプのゲーム中にonRoomConnected()メソッドで自分自身をホストとして表示します。
これに対する解決策はありますか、それとも基本的なものが欠けていますか?