gpt4 book ai didi

android - 当受邀玩家离开游戏时调用 onDisconnectedFromRoom()

转载 作者:太空狗 更新时间:2023-10-29 12:40:55 25 4
gpt4 key购买 nike

我与其他 2 名玩家(都是直接邀请的)一起创建了一个实时多人游戏。这是我的做法:

创建玩家选择 Intent

Intent intent = Games.RealTimeMultiplayer.getSelectOpponentsIntent(getApiClient(), 1, MAX_PLAYERS);
startActivityForResult(intent, REQ_GOOGLE_INVITE);

onActivityResult() 上执行了这个:

private void onPlayersInvited(Intent data) {
// get the invitee list
final ArrayList<String> invitees = data.getStringArrayListExtra(Games.EXTRA_PLAYER_IDS);

Bundle autoMatchCriteria = RoomConfig.createAutoMatchCriteria(1, 5, 0);

// create the activeRoom and specify a variant if appropriate
RoomConfig.Builder roomConfigBuilder = makeBasicRoomConfigBuilder();
roomConfigBuilder.addPlayersToInvite(invitees);
roomConfigBuilder.setAutoMatchCriteria(autoMatchCriteria);
RoomConfig roomConfig = roomConfigBuilder.build();
Games.RealTimeMultiplayer.create(getApiClient(), roomConfig);

// prevent screen from sleeping during handshake
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}


private RoomConfig.Builder makeBasicRoomConfigBuilder() {
return RoomConfig.builder(this).setMessageReceivedListener(this).setRoomStatusUpdateListener(this).setSocketCommunicationEnabled(true)
.setVariant(subcategory.getId().intValue());
}

我的游戏在所有 3 台设备上启动,但是当我在一台受邀设备上断开游戏连接时,主机设备上的 onDisconnectedFromRoom() 会被调用,所以我猜游戏会自动取消,这很遗憾,因为我会喜欢继续游戏,直到出现所需的最小玩家数量。

有什么办法可以避免吗?

最佳答案

在 onDisconnectedFromRoom() 回调中,您将获得 Room 对象。您可以通过调用

查看房间内有多少玩家
int count = room.getParticipantIds().size();

如果玩家超过最小值则继续游戏。

关于android - 当受邀玩家离开游戏时调用 onDisconnectedFromRoom(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26192214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com