データスロット

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

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

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

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

  • Projectウィンドウの右クリックメニューから「Create > C# 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を参照してください。