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

# 装備の装着

キャラクターごとの装備スロットを扱います。スロットごとに装着できる装備を制限できます。




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

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

## 概要

キャラクターを仲間にして装備を入手し、キャラクターごとの `weapon` スロットと `armor` スロットに装備を装着するデモです。スロットには装着できる装備が決められていて、`weapon` には `iron-sword` と `oak-staff`、`armor` には `steel-shield` だけが入ります。合わない装備を入れようとすると、ページではなく GS2 自身が装着を拒否します。1 つの装備を同時に装着できるのは 1 人のキャラクターだけです。

## 試し方

1. **Recruit a character** で **Recruit** を押してキャラクターを仲間にします。**Loadout** の上部にキャラクターのタブが表示されます。
1. **Take equipment** で **Take** を押して装備を入手します。入手した装備は **Loadout** の装備カードに並びます。
1. **Loadout** でキャラクターのタブを選び、スロットのカード（`weapon` または `armor`）を押して装着先を選んでから、装備のカードを押すとそのスロットに装着されます。
1. `weapon` スロットを選んだ状態で `steel-shield` を押すと、GS2 が拒否し、`GS2 refused` で始まるメッセージが表示されます。
1. 別のキャラクターがすでに装着している装備を装着しようとしても拒否されます。**Take off** のボタンで元のキャラクターから外してから装着してください。

装備のカードには、その装備を装着しているキャラクターとスロットが **Worn by** として表示されます。所持枠が埋まったら **Equipment bag** の **Expand** で枠を増やせます。

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

- [GS2-Formation](/ja/microservices/formation/): GS2-Formation のプロパティフォームモデルが、キャラクターごとの `weapon` と `armor` のスロットを定義します。各スロットの `propertyRegex` が装着できる装備のアイテムセットを限定しており、合わない装備は GS2-Formation が拒否します。
- [GS2-Inventory](/ja/microservices/inventory/): GS2-Inventory がキャラクターと装備をそれぞれ別のインベントリで保持します。装着時には装備のアイテムセットを署名付きで取得し、その署名をスロットに渡します。
- [GS2-Script](/ja/microservices/script/): GS2-Script のスクリプトがフォームの更新時に実行され、装備のアイテムセットに装着中のキャラクターを記録します。別のキャラクターが装着中の装備は拒否し、1 つの装備を 1 人だけが装着できるようにしています。
- [GS2-Exchange](/ja/microservices/exchange/): GS2-Exchange の交換レートが、**Recruit** によるキャラクターの入手と **Take** による装備の入手を無償のトランザクションとして定義します。

## GS2 Studio で使う

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

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

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

## ソースコード

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



