如果在Google Play游戏中没有可用的对手玩家,如何取消中途?

时间:2016-12-02 07:45:39

标签: unity3d google-play-games multiplayer 2d-games

我正在Unity中创建一个多人游戏。

要创建一个房间,我正在使用:

PlayGamesPlatform.Instance.RealTime.CreateQuickGame(MinOpponents, MaxOpponents, GameVariant, listener);

为了获得房间创建的进展,我正在使用:

public void OnRoomSetupProgress(float progress) {
}

然而,上述功能只在progress = 20调用一次,如果没有其他玩家可用,则不会再次调用。

从最初开始,我不会有很多玩家使用这个应用程序,我想等待10秒钟连接到任何其他玩家,如果没有玩家,我想用内置的AI启动游戏。为此,我需要以干净的方式中止当前的房间设置进度。我不知道如何进一步行动。

如果您知道此方案的解决方案,请与我们联系。

1 个答案:

答案 0 :(得分:0)

关于Unity中的多人游戏,此GitHub post仅讨论了当游戏结束时使用<img class="icon icon-home img-circle" ng-src="{{ facebookUserPicture.data.url }}"> 触发对您的听众PlayGamesPlatform.Instance.RealTime.LeaveRoom();的调用时离开房间。

您可能需要Adding Real-time Multiplayer Support to Your Android Game具体Adding a waiting room UI来表明

  

如果您使用等候室UI,则无需实施其他逻辑来决定何时应启动或取消游戏,如OnLeftRoomshouldStartGame()中所述。当您获得shouldCancelGame()结果时,您可以立即开始,因为已连接了所需的参与者数量。同样,当您从等候室UI获得错误结果时,您可以简单地离开房间。

要离开房间,请致电Activity.RESULT_OK

leave()