로비 참여
플레이어는 로비 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의 동작을 확인할 수 있습니다.