다음을 통해 공유


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

참고 항목

PFMatchmaking 멤버