- 뒤끝 SDK 버전 : 5.14.1
- 프로젝트명 : MagnetGame
문제가 되는 부분
private void ProcessMatchMakingResponse(MatchMakingResponseEventArgs args)
{
string debugLog = string.Empty;
bool isError = false;
switch (args.ErrInfo)
{
case ErrorCode.Success:
// 매칭 성공했을 때
debugLog = string.Format(SUCCESS_MATCHMAKE, args.Reason);
// LobbyUI.GetInstance().MatchDoneCallback();
ProcessMatchSuccess(args);
break;
case ErrorCode.Match_InProgress:
if (args.Reason == string.Empty)
{
debugLog = SUCCESS_REGIST_MATCHMAKE;
}
break;
// 이하 생략
}
}
디버그
매칭 대기열에 등록되었습니다.
UnityEngine.Debug:Log (object)
BackendMatchManager:ProcessMatchMakingResponse
이상태에서 넘어가질 않습니다.
다른 기기에서 연결을 해도 매칭이 잡히질 않더라구요
제가 생각하는 문제가 되는 부분은
Backend.Match.CreateMatchRoom() → Backend.Match.OnMatchMakingRoomCreate(args) → RequestMatchMaking() → OnMatchMakingResponse → ProcessMatchMakingResponse(args)
현재 이 순서로 만들었는데
RequestMatchMaking() 함수 부분에
public void RequestMatchMaking()
{
// 매청 서버에 연결되어 있지 않으면 매칭 서버 접속
if (!isConnectMatchServer)
{
Debug.Log("매치 서버에 연결되어 있지 않습니다.");
Debug.Log("매치 서버에 접속을 시도합니다.");
JoinMatchServer();
return;
}
// 변수 초기화
isConnectInGameServer = false;
Backend.Match.RequestMatchMaking(MatchType.Random, MatchModeType.OneOnOne, "2024-10-16T04:53:20.101Z");
if (isConnectInGameServer)
{
Backend.Match.LeaveGameServer();
}
}
RequestMatchMaking의 인자가 잘못 들어가서 그런 것 같다고 생각이 듭니다
질문사항
-
제가 생각한 곳의 문제가 맞나요?
-
만약 맞다면 랜덤매치 1:1로만 설정해서 만드려고 한다면 RequestMatchMaking의 인자값을 어떻게 설정해서 넣어야 할까요?
-
뒤끝매치 예제의 GetMatchList와 매치카드의 들어가는 값들이 잘 이해가 안갑니다. 매치카드의 값은 json 파일로 만들어진 데이터베이스에서 받아온 값들을 넣어준 것 인가요? 아니면 서버에서 받아온 값인가요?
-
예제와 설명을 많이 읽고 분석해봤지만… GetMatchList와 매치카드를 어떻게 만들어야할지 감이 아예 안잡힙니다… 조금 더 자세한 설명을 부탁드려도 될까요…?
감사합니다