# データスロット

ここでは、自作クラスのデータスロットを作成する方法を説明します。

例として簡単なプレイヤーデータの作成を通してデータをやり取りするまでの作り方を説明していきます。

## PlayerDataスクリプトファイルの作成

スクリプトファイルを作成していきます。

- Projectウィンドウの右クリックメニューから「Create > MonoBehaviour Script」を選択。
- 今回は名前をPlayerDataとします。

PlayerData.csには以下のように記述します。

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    using UnityEngine;
    using System.Collections;
    using Arbor;

    [System.Serializable]
    public class PlayerData
    {
    	public int maxHP;
    	public int hp;
    }

    [System.Serializable]
    public class OutputSlotPlayerData : OutputSlot<PlayerData>
    {
    }

    [System.Serializable]
    public class InputSlotPlayerData : InputSlot<PlayerData>
    {
    }

### コードの解説

#### PlayerDataクラスの作成

今回は単純に最大HPと現在HPを持ったクラスを作成しています。

#### OutputSlotPlayerDataクラスの作成

PlayerDataクラスを出力するためのクラスを作成しています。

すべての処理はOutputSlot<T>に用意されているため、特に中身は記述する必要はありません。

ジェネリッククラスがシリアライズできないというUnityの仕様を回避するために用意しています。

#### InputSlotPlayerDataクラスの作成

PlayerDataクラスを入力するためのクラスを作成しています。

こちらもInputSlot<T>に必要な処理が用意されているため、特に中身を記述する必要はありません。

## Variable Generator

ParameterContainerのパラメータとしても利用したい場合はVariable Generatorから生成すると便利です。

詳しくはVariableを参照してください。