我正在Unity中创建一个多人游戏。
要创建一个房间,我正在使用:
PlayGamesPlatform.Instance.RealTime.CreateQuickGame(MinOpponents, MaxOpponents, GameVariant, listener);
为了获得房间创建的进展,我正在使用:
public void OnRoomSetupProgress(float progress) {
}
然而,上述功能只在progress = 20
调用一次,如果没有其他玩家可用,则不会再次调用。
从最初开始,我不会有很多玩家使用这个应用程序,我想等待10秒钟连接到任何其他玩家,如果没有玩家,我想用内置的AI启动游戏。为此,我需要以干净的方式中止当前的房间设置进度。我不知道如何进一步行动。
如果您知道此方案的解决方案,请与我们联系。
答案 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,则无需实施其他逻辑来决定何时应启动或取消游戏,如
OnLeftRoom
和shouldStartGame()
中所述。当您获得shouldCancelGame()
结果时,您可以立即开始,因为已连接了所需的参与者数量。同样,当您从等候室UI获得错误结果时,您可以简单地离开房间。
要离开房间,请致电Activity.RESULT_OK
:
leave()