スケジュール基盤

概要

期間限定イベントの「いま開催中か」を GS2-Schedule で判定する基盤のデモです。日時が固定された絶対スケジュールは誰が見ても同じ期間で開催され、終了済みのものは一覧に出ません。相対スケジュールはプレイヤーがトリガーを引いた瞬間から始まるため、期間は訪問者ごとに異なります。トリガーの発火・延長・解除をボタンで試し、開催期間がどう変わるかを確認できます。

試し方

  1. Event windows に現在開催中のスケジュールが並びます。絶対スケジュールの open-season (absolute) には Period に開催期間、Ends in に 2031 年の終了までの残り時間が表示されます。終了済みの closed-season は表示されません。
  2. Start your window の happy-hour の Pull を押すと、トリガーが発火します。Your trigger に happy-hour が現れ、Window に発火時刻から 5 分間(300 秒)の期間、Expires in に残り時間が表示されます。
  3. 同時に Event windows に相対スケジュール happy-hour (relative) が加わり、Relative window にあなたのトリガーが開いた期間、Closes in に閉じるまでの残り時間が表示されます。
  4. Your trigger の Extend を押すたびに期間が 60 秒延び、Expires in と Closes in の残り時間も延びます。
  5. Clear を押すとトリガーが解除され、happy-hour の期間も閉じます。何もしなければ 5 分後に自然に期限切れになります。

アカウントは同じブラウザのショールーム全デモで共通です。ほかのデモで使われるスケジュール(毎日切り替わる guild-season や、ランキングデモで開いた ranking-contest など)も Event windows に表示されることがあります。

使用している GS2 のサービス

  • GS2-Schedule: GS2-Schedule が絶対・相対のイベント(open-season、closed-season、happy-hour など)とプレイヤーごとのトリガーを保持し、いま開催中かどうかと期間を判定します。
  • GS2-Exchange: GS2-Exchange の無料の交換レートが、トリガーの発火(TTL 300 秒)・60 秒延長・解除を GS2-Schedule へのトランザクションとして定義し、各ボタンから実行されます。

GS2 Studio で使う

GS2 Studio のシンプルモードで 機能を追加 を開き、スケジュール基盤 の 追加 を押すと、この機能を自分のプロジェクトに取り込めます。パッケージを直接指定する場合は GitHub から追加 を選び、次のパッケージを指定します。

https://github.com/gs2io/gs2-studio-package/tree/main/foundation-economy-schedule/packages/foundation-economy-schedule
  • オーナー: gs2io
  • リポジトリ: gs2-studio-package
  • サブディレクトリ: foundation-economy-schedule/packages/foundation-economy-schedule

ソースコード