#1. Delete a lobby
로비 호스트는 로비를 삭제할 수 있으며 삭제된 대기실은 더이상 참여할 수 없습니다.
삭제된 로비는 쿼리에 표시되지 않으며 삭제된 로비를 대상으로 하는 모든 접근은 실패하게 됩니다
클라이언트는 언제든지 로비에서 제거될 수 있음을 예상해야 합니다
로비가 삭제된다거나, 호스트가 플레이어를 로비에서 강퇴한다거나, 릴레이 연결이 해제 된다거나 등
클라이언트는 특정 로비를 대상으로 하는 모든 API 호출이 실패할 수 있음을 예상하고 그에 맞게 처리해야 합니다
try
{
await LobbyService.Instance.DeleteLobbyAsync("lobbyId");
}
catch (LobbyServiceException e)
{
Debug.Log(e);
}
#2. Leave a lobby
플레이어가 로비에서 나가면 플레이어 ID가 플레이어 목록에서 제거됩니다
이때, 호스트 플레이였다면 남아 있는 플레이어중 한 명이 호스트 플레이어가 됩니다
RemovePlayerAsync API 호출은 자기 자신 ID 뿐만 아니라 다른 플레이어의 ID도 지정할 수 있습니다
로비의 마지막 플레이어가 나가면 로비가 자동으로 삭제됩니다!
try
{
//Ensure you sign-in before calling Authentication Instance
//See IAuthenticationService interface
string playerId = AuthenticationService.Instance.PlayerId;
await LobbyService.Instance.RemovePlayerAsync("lobbyId", playerId);
}
catch (LobbyServiceException e)
{
Debug.Log(e);
}