データスロットのカスタマイズ


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

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

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

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

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

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

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>に必要な処理が用意されているため、特に中身を記述する必要はありません。