PFMultiplayerJoinMatchmakingTicketFromId
티켓 ID와 큐 이름을 사용하여 한 명 이상의 여러 로컬 사용자를 매치 메이킹 티켓에 참여시킵니다.
구문
HRESULT PFMultiplayerJoinMatchmakingTicketFromId(
PFMultiplayerHandle handle,
uint32_t localUserCount,
const PFEntityKey* localUsers,
const char* localUserAttributes,
const char* ticketId,
const char* queueName,
void* asyncContext,
PFMatchmakingTicketHandle* ticket
)
매개 변수
handle
PFMultiplayerHandle
PFMultiplayer API 인스턴스의 핸들입니다.
localUserCount
uint32_t
티켓에 참가할 로컬 사용자 수입니다.
localUsers
PFEntityKey*
크기가 localUserCount
인 입력 배열
티켓에 참가할 로컬 사용자의 배열입니다.
localUserAttributes
char*
크기가 localUserCount
인 입력 배열
로컬 사용자 특성 문자열의 배열입니다. 각 로컬 사용자에 대해 하나의 특성 문자열이 있어야 합니다. 각 특성 문자열은 빈 문자열이거나 직렬화된 JSON 개체여야 합니다. 예를 들면 {"player_color":"blue","player_role":"tank"}
같은 식입니다.
ticketId
char*
is null-terminated
참가할 티켓의 ID입니다.
queueName
char*
is null-terminated
티켓이 속한 큐입니다.
asyncContext
무효*
선택 사항
완료 상태 변경을 이 호출과 연결하는 데 사용할 수 있는 선택적 앱 정의 포인터 크기의 컨텍스트 값입니다.
ticket
PFMatchmakingTicketHandle*
라이브러리 할당 출력
결과 티켓 개체입니다.
반환 값
형식: HRESULT
호출이 성공한 경우 S_OK
이고 그렇지 않은 경우 오류 코드입니다. 사람이 읽을 수 있는 형식의 오류 코드는 PFMultiplayerGetErrorMessage()를 통해 검색할 수 있습니다.
비고
라이브러리는 지정된 모든 로컬 사용자를 자동으로 비동기적으로 매치메이킹 서비스에 티켓을 제출하여 티켓에 참여시킵니다. 티켓 상태가 변경될 때마다 PFMatchmakingTicketStatusChangedStateChange가 제공됩니다. 티켓 상태는 PFMatchmakingTicketGetStatus()를 통해 언제든지 쿼리할 수 있습니다. 티켓은 PFMatchmakingTicketStatus::Joining
상태에서 즉시 시작됩니다.
티켓이 완료되면 PFMatchmakingTicketStatusChangedStateChange가 제공됩니다. 이때 일치 항목이 발견되었거나 실패로 인해 티켓이 중지되었습니다. 성공하면 찾은 일치 항목을 PFMatchmakingTicketGetMatch()를 통해 쿼리할 수 있습니다.
지정된 사용자에 대한 티켓이 이미 너무 많아 티켓 만들기에 실패하는 경우 해당 미해결 티켓을 투명하게 취소한 다음 티켓 만들기를 다시 시도합니다.
요구 사항
헤더: PFMatchmaking.h