OnSessionListInServer에 관하여..

문의를 남기실 경우 다음 항목을 작성해 주시면 빠른 답변 처리에 도움이 됩니다.

  • 프로젝트명 : Multiplayer test
  • 뒤끝SDK 버전 : 5.4.5
  • 에러 코드 :
  1. OnSessionListInServer 이벤트의 설명을 보자면 다음과 같은데요.

  2. 저는 호스트가 접속 중인 유저들의 세션 아이디를 갖고 있게 만들고 싶은데
    OnSessionListInServer 이벤트의 설명을 보면 가장 마지막에 접속한 유저가 모든 유저의 리스트를 받아오는데
    호스트가 꼭 마지막에 접속한 유저라는 보장이 없을텐데 방법은 없을까요?

안녕하세요 개발자님,

OnSessionListInServer은 매칭방에 들어왔을 때 이미 들어온 사람들의 정보를 받는 핸들러입니다.
OnMatchInGameAccess는 자신이 매칭방에 들어온 이후, 다른 유저가 자신이 속한 매칭방에 들어왔을 때 호출되는 핸들러입니다.

두 핸들러 모두 유저의 정보를 담고 있는 MatchUserGameRecord의 값이 포함되어있으며,
두 핸들러에서 받은 GameRecord의 닉네임 혹은 inDate등을 Key에 저장해 놓으면 모든 유저가 접속하고 게임이 시작할 때에는 매칭방에 접속한 모든 유저의 정보를 가지고 있을 수 있습니다.

4명 기준으로 제일 먼저 접속한 유저는 OnSessionListInServer에서 자신만 포함된 레코드를 받게 되고 이후 OnMatchInGameAccess가 3번 더 호출되면서 이후에 들어온 3명의 유저정보를 받게 됩니다.

반대로 제일 마지막에 접속한 유저는 OnSessionListInServer에서 자신을 포함하여 방에 모든 유저의 레코드를 받게 되고 OnMatchInGameAccess는 자신이 접속하여 발생하는 것만을 받게 됩니다.

OnSessionListInServer에서 가져온 MatchUserGameRecord 리스트와
OnMatchInGameAccess에서 가져온 MatchUserGameRecord 리스트를 중복없이 합친다면 입장한 모든 유저를 얻을 수 있습니다.
감사합니다.

좋아요 1

아하 유저들이 이미 다 접속한 상태에서 게임 중에는 한번에 얻어올 수 있는 API를 따로 제공해주고 있질 않은 모양이군요.
답변 감사합니다^^

좋아요 1