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