> For the complete documentation index, see [llms.txt](/llms.txt)

# スケジュール基盤

期間限定イベントなど、他の機能が使う日程とトリガーを共通基盤として提供します。




**このデモについて**

デモは匿名アカウントで自動的にログインします。このアカウントはショールームのすべてのデモで共有されるため、あるデモで手に入れたアイテムや通貨が別のデモにも反映されます。読み込みには少し時間がかかります。画面が小さい場合は新しいタブで開いてお試しください。

## 概要

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

## 試し方

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

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

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

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

## GS2 Studio で使う

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

```text
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`

## ソースコード

- デモのプロジェクト: <https://github.com/gs2io/gs2-studio-package/tree/main/foundation-economy-schedule/live-demo>
- 機能パッケージ: <https://github.com/gs2io/gs2-studio-package/tree/main/foundation-economy-schedule>



