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

# キャラクター図鑑

これまでに入手したキャラクターの種類を図鑑に記録します。




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

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

## 概要

4 種類のキャラクター（`knight`、`mage`、`archer`、`healer`）の図鑑を表示するデモです。**Recruit** を押すとキャラクターの入手と図鑑への登録が 1 つのトランザクションで行われ、図鑑には最初に入手した日時が残ります。一度登録されたキャラクターは登録済みのままで、その行の **Recruit** は表示されなくなります。

## 試し方

1. **Character dex** に 4 種類のキャラクターが並びます。未入手のキャラクターは **Acquired** が **Not yet** と表示されます。
1. 未入手のキャラクターの行で **Recruit** を押すと、そのキャラクターを 1 体入手し、同時に図鑑へ登録します。
1. 登録された行では **Not yet** と **Recruit** が消え、代わりに **Acquired at** に最初に入手した日時が表示されます。
1. 4 種類すべてを勧誘すると、図鑑がすべて埋まります。

勧誘したキャラクターは **キャラクター** デモと同じ所持インベントリに入るため、同じブラウザで開いたキャラクター系のデモにも表示されます。

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

- [GS2-Dictionary](/ja/microservices/dictionary/): GS2-Dictionary の `CharacterDictionary` ネームスペースが 4 種類のキャラクターをエントリーモデルとして定義し、プレイヤーが入手したことのあるキャラクターと最初の入手日時を記録します。
- [GS2-Exchange](/ja/microservices/exchange/): GS2-Exchange の交換レートが **Recruit** の処理を定義し、キャラクターの入手（`Gs2Inventory:AcquireItemSetByUserId`）と図鑑への登録（`Gs2Dictionary:AddEntriesByUserId`）を 1 つの無償トランザクションとしてサーバー側でまとめて実行します。
- [GS2-Inventory](/ja/microservices/inventory/): GS2-Inventory の `Character` インベントリが、勧誘で入手したキャラクターを保持します。

## GS2 Studio で使う

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

```text
https://github.com/gs2io/gs2-studio-package/tree/main/foundation-economy-character-dictionary/packages/foundation-economy-character-dictionary
```

- オーナー: `gs2io`
- リポジトリ: `gs2-studio-package`
- サブディレクトリ: `foundation-economy-character-dictionary/packages/foundation-economy-character-dictionary`

## ソースコード

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



