Skip to content

모듈: tournament

목차

기능

기능

createAsync

createAsync(payload): Promise<Tournament>

플레이어가 토너먼트 세션을 시작하지 않은 경우, 토너먼트 대화창을 생성합니다.

// 특정 레벨에 대한 토너먼트를 생성합니다.
const payload = {
    initialScore: 100,
    config: {
        title: "Level 1 Tournament",
    },
    data: {
        level: 1,
    },
};

Wortal.tournament.createAsync(payload)
 .then(tournament => console.log(tournament.payload["level"]));

매개변수

이름 유형 설명
payload CreateTournamentPayload 토너먼트 설정을 정의하는 페이로드.

Returns

Promise<Tournament>

생성된 토너먼트와 함께 해결되는 약속입니다.

Throws

  • INVALID_PARAM
  • INVALID_OPERATION
  • NETWORK_FAILURE
  • DUPLICATE_POST
  • NOT_SUPPORTED

getAllAsync

getAllAsync(): Promise<Tournament[]>

게임 내 토너먼트 목록을 반환합니다. 다음 토너먼트가 포함됩니다:

  • 플레이어가 만든 것
  • 플레이어가 참여하고 있는 것
  • 플레이어의 친구가 참가하는 것 (초대받은 친구)

반환된 토너먼트는 활성 상태입니다. 토너먼트 종료 시간이 이미 지났다면 해당 토너먼트는 유효하지 않습니다. 각 토너먼트에는 하나의 고유한 컨텍스트 ID가 연결되어 있으며, 이 ID는 변경되지 않습니다.

Wortal.tournament.getAllAsync()
 .then(tournaments => console.log(tournaments.length));

Returns

Promise<Tournament[]>

활발한 토너먼트 배열로 해결하는 Promise.

Throws

  • NETWORK_FAILURE
  • INVALID_OPERATION
  • NOT_SUPPORTED

getCurrentAsync

getCurrentAsync(): Promise<Tournament>

사용자가 플레이 중인 현재 컨텍스트에서 토너먼트를 가져옵니다. 현재 컨텍스트에 연결된 토너먼트가 없는 경우 이 요청은 거부됩니다. 반환되는 토너먼트는 활성 또는 비활성 상태입니다(토너먼트 종료 시간이 이미 지났다면 비활성 상태입니다). 각 토너먼트에는 하나의 고유한 컨텍스트 ID가 연결되어 있으며, 이 ID는 변경되지 않습니다.

Wortal.tournament.getCurrentAsync()
.then(tournament => {
    console.log(tournament.id);
    console.log(tournament.endTime);
});

Returns

Promise<Tournament>

현재 토너먼트에서 해결되는 Promise. 현재 컨텍스트에 연결된 토너먼트가 없는 경우 거부됩니다.

Throws

  • PENDING_REQUEST
  • NETWORK_FAILURE
  • INVALID_OPERATION
  • TOURNAMENT_NOT_FOUND
  • NOT_SUPPORTED

joinAsync

joinAsync(tournamentID): Promise<void>

특정 토너먼트 컨텍스트로의 전환을 요청합니다. 플레이어가 토너먼트에 참여하지 않거나 토너먼트에 참여하는 다른 플레이어가 없는 경우 거부되지만, 그렇지 않은 경우 게임이 지정된 컨텍스트로 전환될 때 Promise가 해결됩니다.

Wortal.tournament.joinAsync("1234567890")
 .then(() => console.log("Switched into tournament!"));

매개변수

이름 유형 설명
tournamentID string 전환하고자 하는 토너먼트의 컨텍스트 ID입니다.

Returns

Promise<void>

게임이 지정된 토너먼트 컨텍스트로 전환될 때 해결되는 약속이며, 그렇지 않으면 거부됩니다.

Throws

  • INVALID_PARAM
  • INVALID_OPERATION
  • TOURNAMENT_NOT_FOUND
  • SAME_CONTEXT
  • NETWORK_FAILURE
  • USER_INPUT
  • NOT_SUPPORTED

postScoreAsync

postScoreAsync(score): Promise<void>

플레이어의 점수를 게시합니다. 이 API는 토너먼트 컨텍스트 내에서 활동이 종료된 경우에만 호출해야 합니다(예: 게임을 계속할 수 있는 "생명"이 없는 경우). 이 API는 일정 호출 횟수를 초과하면 속도 제한이 설정됩니다. 이 API를 사용하여 점수를 게시하는 경우, 전체 게임 세션에서 일관성과 호환성을 유지해야 합니다. 예를 들어, 플레이어 A가 세션에서 200점을 획득하고 플레이어 B가 세션에서 320점을 획득한 경우, 이 두 점수를 공정하게 비교하고 순위를 매길 수 있는 활동에서 생성되어야 합니다.

Wortal.tournament.postScoreAsync(200)
 .then(() => console.log("Score posted!"));

매개변수

이름 유형 설명
score number 플레이어가 활동을 완료했을 때의 점수를 나타내는 정수 값입니다.

Returns

Promise<void>

점수가 게시되면 해결하겠다는 약속.

Throws

  • INVALID_PARAM
  • TOURNAMENT_NOT_FOUND
  • NETWORK_FAILURE
  • NOT_SUPPORTED

shareAsync

shareAsync(payload): Promise<void>

플레이어가 현재 토너먼트에 참여하고 있는 경우, 토너먼트 공유 대화 상자를 엽니다.

Wortal.tournament.shareAsync({
  score: 3,
  data: { myReplayData: '...' }
});

매개변수

이름 유형 설명
payload ShareTournamentPayload 공유할 내용을 지정합니다.

Returns

Promise<void>

토너먼트가 공유된 경우 해결되며, 그렇지 않은 경우 거부됩니다.

Throws

  • INVALID_OPERATION
  • TOURNAMENT_NOT_FOUND
  • NETWORK_FAILURE
  • NOT_SUPPORTED