로비 퇴장 API
StoveMatchSDK.LeaveLobby 메서드로 매치메이킹 로비에서 퇴장합니다.
using Stove.PCSDK.NET.Matchmaking;
string lobby = this.lobby;
StoveMatchSDK.LeaveLobby(lobby);
Plain Text
복사
로비 콜백
StoveMatchSDK.LeaveLobby 메서드가 실행중에 오류가 발생하면 error.result(에러 코드) StovePCMatchmakingResult에서 내용을 확인할 수 있습니다.
로비 퇴장에 대한 콜백을 받기위해서는 사전에 델리게이트를 등록해야 합니다.
•
내가 로비에서 퇴장시 OnLeaveLobby 콜백이 호출됩니다.
•
방장에 의한 로비 킥/밴, 로비 삭제 등으로 강제 퇴장당할 시에도 콜백 됩니다.
•
다른 유저는 OnUserLeave 콜백이 호출됩니다.
using Stove.PCSDK.NET.Matchmaking;
// 로비 퇴장 델리게이트를 등록
StoveMatchSDK.EventLeaveLobby += GameObj.OnLeaveLobby;
// 로비에서 퇴장
private void OnLeaveLobby(StovePCMatchmakingError error, StovePCMatchmakingLeaveLobby leaveLobby)
{
StringBuilder sb = new StringBuilder();
// 로비 고유 아이디
sb.AppendFormat("lobby = {0}", lobby);
// 유저가 퇴장한 이유 코드 ( `StovePCMatchmakingResult` 에서 내용을 확인할 수 있습니다. )
sb.AppendFormat("leaveCode = {0}", error.result);
Debug.Log(sb.ToString());
// 로비 퇴장 사유
switch(error.result)
{
// API 호출하여 로비 퇴장
case StovePCMatchmakingResult.NO_ERROR:
break;
// 방장이 킥
case StovePCMatchmakingResult.USER_KICKED:
break;
// 방장이 밴
case StovePCMatchmakingResult.USER_BANNED:
break;
// 방장이 로비 삭제
case StovePCMatchmakingResult.USER_ROOM_DESTROYED:
break;
// 서버에서 로비 제거
case StovePCMatchmakingResult.USER_ROOM_SHUTDOWN:
break;
// 운영이슈로 로비 제거
case StovePCMatchmakingResult.ROOM_DELETED_AS_OPERATIONAL:
break;
}
// 게임 로직 처리
}
Plain Text
복사
강제 퇴장당한 경우 error.result 를 통해 StovePCMatchmakingResult 에서 내용을 확인할 수 있습니다.