로비 퇴장 API

StoveMatchSDK.LeaveLobby 메서드로 매치메이킹 로비에서 퇴장합니다.

using Stove.PCSDK.NET.Matchmaking;

string lobby = this.lobby;
StoveMatchSDK.LeaveLobby(lobby);

로비 콜백

StoveMatchSDK.LeaveLobby 메서드가 실행중에 오류가 발생하면 error.result(에러 코드) StovePCMatchmakingResult에서 내용을 확인할 수 있습니다.

로비 퇴장에 대한 콜백을 받기위해서는 사전에 델리게이트를 등록해야 합니다.

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;
    }

    // 게임 로직 처리
}

강제 퇴장당한 경우 error.result 를 통해 StovePCMatchmakingResult 에서 내용을 확인할 수 있습니다.