Google Play服务:创建自定义等候室UI

Jac*_*1re 3 android multiplayer google-play-services google-play-games

我即将使用Google Play游戏服务为我的Android应用程序实现实时多人游戏,并且听到房间更新时遇到了一些问题.我没有经验,所以请原谅可能的理解问题.

我的意图是,如果有人加入我最近创建的房间,或者自己创建了另一个房间,并且我的房间与我的房间相同,我需要知情.

我试图在RoomStatusUpdateListener上听,但在我创建了一个房间后,这个监听器永远不会被调用,我想知道为什么.被调用的是RoomUpdateListener,但它不包含我需要的回调方法.

我知道建议在等候室ui中使用android build并使用Games.RealTimeMultiplayer.getWaitingRoomIntent()来启动activityForResult,但我需要创建类似我自己的等候室并且不知道如何.显然谷歌活动(等待)房间确实了解变化,所以必须有一种方法来观察这些.

据我所知,我想尝试做类似的事情:

  1. 创建具有不同变体的多个房间
  2. 在任何房间听取更新(玩家加入或创建同一个房间)
  3. 加入第2步更新的房间.

有没有人知道如何实现这一目标?我会很高兴的.对不起,我的英语不好.

问候,史蒂夫.

Jac*_*1re 6

由于没有人能够回答我的问题或其他什么,我认为将我的调查结果作为答案自己是有效的.

我能够找到自定义UI实现所需的重要方法调用.它们基本上位于两个接口中RoomUpdateListener,RoomStatusUpdateListener并且需要提供给RoomConfig.Builder.

游戏的生命周期如下:

步骤1

  • 通过创造房间

Games.RealTimeMultiplayer.create(mGoogleApiClient, rtmConfigBuilder.build());

第2步

  • RoomUpdateListener: onRoomCreated 客户端尝试创建实时房间.

第3步

  • RoomStatusUpdateListener: onPeerJoined 当一个或多个同伴参与者加入房间时调用.
  • RoomStatusUpdateListener: onRoomConnecting 一个或多个参与者加入了会议室并开始建立对等连接的过程
  • RoomStatusUpdateListener: onP2PConnected 客户端已成功连接到对等参与者.
  • RoomStatusUpdateListener: onConnectedToRoom 客户端连接到房间中的连接集.
  • RoomStatusUpdateListener: onPeersConnected 当一个或多个同伴参与者加入房间时调用.

第4步

  • RoomUpdateListener: onRoomConnected 实时房间中的所有参与者都是完全连接的.

而已.现在参与者已连接,可以通过Games.RealTimeMultiplayer.sendReliableMessage其他发送方法发送消息.