文档

支持

Lobby

Lobby

加入大厅

Join an existing lobby by specifying a lobby ID or entering a shareable lobby code.
阅读时间2 分钟最后更新于 4 个月前

玩家可以通过指定大厅 ID 或提供大厅代码来加入大厅。大厅代码是系统自动生成的短代码,与特定的大厅相对应,旨在供玩家相互分享。大厅的大厅代码是仅有成员可见的大厅属性。
注意
最佳实践
当尽量减少请求时,Lobby 服务可以提供最佳体验。Join API 支持在 Join 调用中传递玩家数据,因此最好采用这种方式,而不是先进行 Join 调用,然后在加入大厅后进行单独的 Update Player 调用。

通过指定大厅 ID 来加入

以下代码示例展示了如何通过指定大厅 ID 来加入大厅: C#
try{ await LobbyService.Instance.JoinLobbyByIdAsync("lobbyId");}catch (LobbyServiceException e){ Debug.Log(e);}

通过提供大厅代码来加入

以下代码示例展示了如何通过使用代码来加入大厅: C#
try{ await LobbyService.Instance.JoinLobbyByCodeAsync("lobbyCode");}catch (LobbyServiceException e){ Debug.Log(e);}
提示
一些文本输入包可能会为文本栏中的字符串附加不可见字符,这可能导致传递给服务的加入代码无效。您将会收到一个
InvalidJoinCode
错误,其中详细说明了为什么代码无效,以帮助解决这种错误。您还应该处理此错误,以通知用户他们是否在加入时输入了无效的字符。

加入受密码保护的大厅

以下代码示例展示了如何通过使用 ID 或代码来加入受密码保护的大厅: C#
try{ // Join by ID: var idOptions = new JoinLobbyByIdOptions{Password ="mySecret"}; await Lobbies.Instance.JoinLobbyByIdAsync("lobbyId", idOptions); // Join by Code: var codeOptions = new JoinLobbyByCodeOptions{Password ="mySecret"}; await Lobbies.Instance.JoinLobbyByCodeAsync("lobbyId", codeOptions);}catch (LobbyServiceException e){ Debug.Log(e);}
提示
一些文本输入包可能会为文本栏中的字符串附加不可见字符,这可能导致传递给服务的密码无效。服务无法确定这些不可见字符是有意还是无意输入的,因此可能无法将其与有效的
IncorrectPassword
错误区分开来。请务必确认请求中发送的密码与预期的字符串精确一致。Join Lobby by Code API 能够提供此类错误的更多详细信息,因此您或许能够先使用该 API 来验证 UI 的行为。