インベントリシステム

確認済のバージョン: 2017.3

-

難易度: 初級

インベントリシステムは、Inventory Controller コンポーネントと Inventory Item の 2 つの要素によって構成されています。

Inventory Controller はインベントリを持つゲームオブジェクトに追加します。Inventory Item スクリプトは、収集されるアイテムに追加します。例えば、 Ellen(Inventory Controller)が Key(鍵)(Inventory Item)を収集します。

Inventory Controller は、Inventory Item のコライダーとの接触によって自動的にそのアイテムを収集することができます。また、ゲームオブジェクトが収集された時と削除された時に起こるアクションを定義します。

Inventory Controller

このコンポーネントは、インベントリ内に入れることが可能な各アイテムのエントリを含んでおり、キャラクターや宝箱や店にアタッチすることができます。

  • Inventory Events ― インベントリに追加された特定のゲームオブジェクトに起こるイベントのリストです。新しいイベントを追加する場合は、この数字を大きくしてください。([ヒント]イベントを削除するには、リスト内の名前の上で右クリックして Delete Array Element を選択してください。)。
    • KeyInventory Item(鍵、拳銃、こん棒など)の固有識別子です。これは収集されるアイテムの Inventory Item コンポーネント内の Key に一致している必要があります。インベントリ内には、同じゲームオブジェクトのインスタンスは 1 つしか存在できません。Inventory Controller 内の Add イベントは、同じ Key を持つゲームオブジェクトが既にインベントリ内に存在する場合には呼び出されません。

    • OnAdd ― アイテムがインベントリに追加された時にトリガーされるイベントです。

    • OnRemove ― アイテムがインベントリから削除された時にトリガーされるイベントです。

    • Data Settings ― 詳細は「データ・パーシステンス」の項をご覧ください。

アイテムの Key (つまりアイテムにアサインされた固有識別子)と、ゲーム中で使用する収集ゲームオブジェクトの「Key」(鍵)とを混同しないようにご注意ください。本ドキュメントでは区別しやすいように固有識別子は太字で記載しています。

Inventory Item

インベントリ内に含むことのできるすべてのアイテムは Inventory Item コンポーネントを持っている必要があります。このコンポーネントは、そのアイテムの KeyAudio Clip、そしてそのアイテムを収集できるレイヤーを指定します。

InventoryItem は、該当アイテムのゲームオブジェクトに追加されるコンポーネントです。これは Circle Collider 2Dを 1 つ必要とし、設定されてない場合は自動的に 1 つ追加されます。このコライダーによってプレイヤーとゲームオブジェクトとの接触が検知できるようになり、トリガーが可能となります。

ゲームオブジェクトの状態(アクティブかどうか)が保存されるので、シーンが再読み込みされてプレイヤーがゾーンに再び入った時に、同じ状態が再現されます。

  • Inventory Key ― アイテムの固有名(「Key1」など)です。アイテムが既に所有されているかどうかを把握するためにインベントリによって使用されます。

  • Layers ― アイテムを収集するゲームオブジェクトが属するレイヤーです。

  • Disable On Enter ― チェックマークを入れると、ゲームオブジェクトが収集されると同時に無効化されるようになります。

  • Clip ― アイテムが収集された時に再生されるオーディオクリップです。空になっている場合は一切クリップが再生されません。

    • Data Settings ― 詳細は「データ・パーシステンス」の項をご覧ください。