Android google play games:从邀请id获取请求的玩家总数

Android google play games:从邀请id获取请求的玩家总数,android,google-play-games,Android,Google Play Games,我正在尝试用谷歌游戏在Android上编写一个多人游戏。automatches的一切都在运行,但我不知道如何决定何时开始邀请游戏 我的网络管理器有一个shouldStartName()函数,如下所示: boolean shouldStartGame(Room room) { int connectedPlayers = 0; for (Participant p : room.getParticipants()) { if (p.isConnectedToRoo

我正在尝试用谷歌游戏在Android上编写一个多人游戏。automatches的一切都在运行,但我不知道如何决定何时开始邀请游戏

我的网络管理器有一个shouldStartName()函数,如下所示:

boolean shouldStartGame(Room room) 
{
    int connectedPlayers = 0;
    for (Participant p : room.getParticipants()) {
        if (p.isConnectedToRoom()) ++connectedPlayers;
    }
    return connectedPlayers >= this.totalRequestedPlayers;
}
当游戏是自动游戏时,这是很好的-当选择玩家对话框返回时,TotalRequestedPlayer将填充到onActivityResult中

public void onActivityResult(int request, int response, Intent data) {
if (request == NetworkManager.RC_SELECT_PLAYERS)
{
final ArrayList<String> invitees = data.getStringArrayListExtra(Games.EXTRA_PLAYER_IDS);

// get auto-match criteria
Bundle autoMatchCriteria = null;
int minAutoMatchPlayers = data.getIntExtra(Multiplayer.EXTRA_MIN_AUTOMATCH_PLAYERS, 0);
int maxAutoMatchPlayers = data.getIntExtra(Multiplayer.EXTRA_MAX_AUTOMATCH_PLAYERS, 0);

if (minAutoMatchPlayers > 0) 
{
    autoMatchCriteria = RoomConfig.createAutoMatchCriteria(
            minAutoMatchPlayers, maxAutoMatchPlayers, 0);
} 
else 
{
    autoMatchCriteria = null;
}

this.oNetwork.setTotalRequestedPlayers(invitees.size() + minAutoMatchPlayers);
RoomConfig roomConfig = roomConfigBuilder.build();
Games.RealTimeMultiplayer.create(getApiClient(), roomConfig);

// prevent screen from sleeping during handshake
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
activityresult上的公共void(int请求、int响应、意图数据){
如果(请求==NetworkManager.RC\u选择\u玩家)
{
最终ArrayList invites=data.getStringArrayListXTRA(Games.EXTRA\u PLAYER\u id);
//获取自动匹配条件
Bundle autoMatchCriteria=null;
int minAutoMatchPlayers=data.getIntExtra(Multiplayer.EXTRA\u MIN\u AUTOMATCH\u PLAYERS,0);
int maxAutoMatchPlayers=data.getIntExtra(Multiplayer.EXTRA\u MAX\u AUTOMATCH\u PLAYERS,0);
如果(玩家>0)
{
autoMatchCriteria=RoomConfig.createAutoMatchCriteria(
MinAutoMatchPlayer,MaxAutomatchPlayer,0);
} 
其他的
{
autoMatchCriteria=null;
}
this.oNetwork.setTotalRequestedPlayer(invitees.size()+minAutoMatchPlayer);
RoomConfig-RoomConfig=roomConfigBuilder.build();
Games.RealTimeMultiplayer.create(getApiClient(),roomConfig);
//在握手过程中防止屏幕睡眠
getWindow().addFlags(WindowManager.LayoutParams.FLAG\u保持屏幕打开);
}
但是,当响应其他玩家的邀请开始比赛时,我找不到任何方法询问房间或configBuilder以了解需要多少玩家

protected void onCreate(Bundle _savedState)
{   
String invitationID=this.getIntent().getExtras().getString(NetworkManager.EXTRA_ROOM_ID);
if(invitationID.equals(""))
{
    //invite some people
    this.oNetwork.beginInviteFriends(); 
}
else
{
//we have been invited to a room
    RoomConfig.Builder roomConfigBuilder =
            this.oNetwork.makeStandardRoomConfigForGameType(this);
    roomConfigBuilder.setInvitationIdToAccept(invitationID);

    RoomConfig c = roomConfigBuilder.build();

    this.oNetwork.setTotalRequestedPlayers(999);  // <-  need to figure out how to get this info
    Games.RealTimeMultiplayer.join(getApiClient(), c);

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
}
protectedvoid onCreate(Bundle\u savedState)
{   
String invitationID=this.getIntent().getExtras().getString(NetworkManager.EXTRA\u ROOM\u ID);
if(邀请ID.等于(“”)
{
//邀请一些人
这个.oNetwork.beginInviteFriends();
}
其他的
{
//我们被邀请到一个房间
RoomConfig.Builder roomConfigBuilder=
this.oNetwork.makeStandardRoomConfigForGameType(this);
roomConfigBuilder.setInvitationIdToAccept(invitationID);
RoomConfig c=roomConfigBuilder.build();
此.oNetwork.setTotalRequestedPlayer(999);//函数

@Override
public void onRoomConnected(int arg0, Room _room)
{

}
告诉您所有被邀请或自动匹配的用户何时已连接到房间