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

# 装備

プレイヤーが所持する武器や防具を、カテゴリごとに管理します。




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

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

## 概要

3 種類の装備（`iron-sword`、`oak-staff`、`steel-shield`）が並ぶカタログから装備を入手し、所持枠に入れていくデモです。装備は 1 つ入手するごとに所持一覧の 1 行になり、所持枠を 1 つ使います。枠が足りなくなったら所持枠を拡張でき、不要な装備は破棄できます。

## 試し方

1. **Take equipment** で装備名の横にある **Take** を押すと、その装備が **Your equipment** に 1 行追加されます。
1. 同じ装備をもう一度入手すると、別の 1 行として追加されます。**Equipment bag** のゲージと `使用数/上限` の表示が 1 ずつ増えます（最初の上限は 4 です）。
1. 所持枠が埋まった状態で **Take** を押しても、装備は入手できません。
1. **Equipment bag** の **Expand** を押すと、所持枠の上限が 2 増えます。上限の 10 に達するとボタンは押せなくなります。
1. **Your equipment** の行にある **Discard** を押すと、その種類の装備が 1 つ破棄され、所持枠が 1 つ空きます。

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

- [GS2-Inventory](/ja/microservices/inventory/): GS2-Inventory のインベントリモデルが所持枠（初期 4、最大 10）と 3 種類の装備のアイテムモデルを定義し、プレイヤーが所持する装備を保持します。装備は 1 スタック 1 個で複数スタックを許可しているため、同じ装備でも 1 個ずつ別の行になります。
- [GS2-Exchange](/ja/microservices/exchange/): GS2-Exchange の交換レートが各ボタンの処理を定義します。**Take** は装備の入手、**Discard** は装備の消費、**Expand** は所持枠の拡張（`Gs2Inventory:AddCapacityByUserId`）を、それぞれ無償のトランザクションとしてサーバー側で実行します。

## GS2 Studio で使う

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

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

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

## ソースコード

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



