매칭이 성사되면 OnMatchMakingResponse로 콜백을 받고 Backend.Match.JoinGameRoom(roomToken);으로 게임방에 접속하고 싶은데 룸 토큰을 어떻게 받는지 모르겠습니다
안녕하세요 개발자님.
OnMatchMakingResponse의 콜백 이후에 게임방을 입장하기 전에 먼저 인게임 서버에 접속해야합니다.
1. OnMatchMakingResponse 이후 인게임 서버 접속
//변수
string serverAddress;
ushort serverPort;
string roomToken;
void Start()
{
// 해당 핸들러응답시 발생되는 args에 인게임서버 접속에 필요한 address와 port의 정보가 포함되어있습니다.
OnMatchMakingResponse += (args) => // serverAddress와 serverPort 확인하는 곳
{
serverAddress = args.RoomInfo.m_inGameServerEndPoint.m_address;
serverPort = args.RoomInfo.m_inGameServerEndPoint.m_port;
roomToken = args.RoomInfo. m_inGameRoomToken;
JoinInGameServer();
}
}
void JoinInGameServer() // 임의의 함수
{
bool isReconnect = true;
ErrorInfo errorInfo = null;
//인게임 서버에 접속해줍니다.
if(Backend.Match.JoinGameServer(serverAddress, serverPort, isReconnect, out errorInfo) == false)
{
// 에러 확인
return;
}
}
2. 인게임 서버 접속 후 성공이 리턴되었으면 게임방을 접속해줍니다.
룸 토큰은 1번의 OnMatchMakingResponse에서 받아올 수 있습니다.
void Start()
{
//1의 Start 함수에 추가적으로 작성(핸들러 등록은 뒤끝 초기화 성공 이후에 실행해주세요)
Backend.Match.OnSessionJoinInServer += (args) => {
JoinGameRoom();
};
}
void JoinGameRoom()
{
Backend.Match.JoinGameRoom(roomToken);
}
3. 게임방 접속 핸들러 등록
void Start() // 1,2의 Start문에 추가적으로 등록(한번만 호출)
{
Backend.Match.OnSessionListInServer += (args) => {
// TODO
};
Backend.Match.OnMatchInGameAccess += (args) => {
// TODO
};
}
개발자문서 외에도 뒤끝매치 예제게임을 이용하면 실제 코드를 통해 더 이해하시기 쉬울 수 있으니 참고 부탁드립니다.