コンテンツにスキップ

モジュール:トーナメント

目次

機能

機能

createAsync

createAsync(payload): Promise<Tournament>

プレイヤーがトーナメントのセッションを開始していない場合、トーナメントのダイアログを作成します。

// Create a tournament for a specific level.
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>

作成されたトーナメントで解決する Promise。

Throws

See error.message for details.

  • INVALID_PARAM
  • INVALID_OPERATION
  • NETWORK_FAILURE
  • DUPLICATE_POST
  • NOT_SUPPORTED

getAllAsync

getAllAsync(): Promise<Tournament[]>

ゲーム内のトーナメントリストを返します。次のトーナメントが含まれます:

  • プレーヤーが作成したもの
  • プレーヤーが参加しているもの
  • プレーヤーの友達が参加しているもの(招待された友達

返されたトーナメントはアクティブです。トーナメントの終了時間がすでに過ぎている場合、そのトーナメントは無効です。各トーナメントには、ユニークなコンテキスト IDが1つだけリンクされており、そのIDは変更されません。

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

Returns

Promise<Tournament[]>

アクティブなトーナメントの配列で解決する Promise。

Throws

See error.message for details.

  • NETWORK_FAILURE
  • INVALID_OPERATION
  • NOT_SUPPORTED

getCurrentAsync

getCurrentAsync(): Promise<Tournament>

ユーザーがプレイしている現在のコンテキストからトーナメントをフェッチします。現在のコンテキストにリンクされているトーナメントがない場合、このリクエストは拒否されます。返されるトーナメントは、アクティブか無効のどちらかです(トーナメントの終了時間がすでに過ぎている場合、そのトーナメントは無効です)。各トーナメントには、ユニークなコンテキスト IDが1つだけリンクされており、そのIDは変更されません。

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

Returns

Promise<Tournament>

現在のトーナメントで解決する Promise。 現在のコンテキストにリンクされたトーナメントがない場合は拒否されます。

Throws

See error.message for details.

  • 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!"));

Parameters

名前 タイプ 内容説明
tournamentID string 切り替えたいトーナメントのコンテキスト ID。

Returns

Promise<void>

ゲームが指定されたトーナメントコンテキストに切り替わったときに解決する Promise。それ以外の場合は拒否されます。

Throws

See error.message for details.

  • 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ポイントを獲得した場合、これら2つのスコア公平に比較し、ランク付けできるようなアクティビティから生成される必要があります。

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

Parameters

名前 タイプ 内容説明
score number プレーヤーがアクティビティを終了した際のスコアを示す整数値。

Returns

Promise<void>

スコアが掲示されたときに解決する Promise。

Throws

See error.message for details.

  • INVALID_PARAM
  • TOURNAMENT_NOT_FOUND
  • NETWORK_FAILURE
  • NOT_SUPPORTED

shareAsync

shareAsync(payload): Promise<void>

プレイヤーが現在トーナメントに参加している場合、トーナメントのシェアダイアログを開きます。

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

Parameters

名前 タイプ 内容説明
payload ShareTournamentPayload 共有する内容を指定します。

Returns

Promise<void>

トーナメントが共有されていれば解決し、それ以外の場合は拒否されます。

Throws

See error.message for details.

  • INVALID_OPERATION
  • TOURNAMENT_NOT_FOUND
  • NETWORK_FAILURE
  • NOT_SUPPORTED