カスタム型
Unity では C# スクリプトファイルを使用して独自のオブジェクト型を作成できます。こうした型はクラスと呼ばれます。
クラスは、コード内でオブジェクトの設計図として機能します。つまり、クラスは、オブジェクトが持つデータの種類と、そのオブジェクトに対してコードが何を実行できるかを決定します。1 つの値を 1 つのデータ型で持つ代わりに、クラスは、1 つのオブジェクト内に、複数の変数を複数のデータ型で持つことができます。
作成したカスタムクラスは、Visual Scripting の Script Graph (スクリプトグラフ) 内で、変数や他のオブジェクトの型として使用できます。Visual Scripting でカスタム型を追加および使用する方法に関しては、Visual Scripting でカスタム型を使用する を参照してください。C# スクリプトファイルに含めるコードによっては、クラス内のデータを操作できる新しいノードを作成することも可能です。
例えば、アプリケーション内で、異なるプレイヤーキャラクターの性質を管理するためにコードを記述したい場合は、クラス Player
を作成し、そのクラス内に、名前、キャラクターの種類、好きな色、プレイヤーのレベルを表す変数を含めます。
using System;
using UnityEngine;
using Unity.VisualScripting;
[Serializable, Inspectable]
public class PlayerCharacter
{
[Inspectable]
public string name;
[Inspectable]
public string type;
[Inspectable]
public string color;
[Inspectable]
public int level;
}
これらの値は全て、コード内の Player
オブジェクトの異なるインスタンス間で異なる場合があります。Player1
は "Erin という名前の緑 (Green) を愛するレベル 5 の詩人 (Bard)"、Player2
は "Sam という名前の黒 (Black) を愛するレベル 15 の魔法使い (Mage)" だとすれば、以下のようになります。
変数のみを使用して表したキャラクターとアプリケーション内でインタラクトするには、多数のノードを作成する必要があります。
カスタムクラスを使用することで、4 つの別々の変数ノードを作成する代わりに、全てのプレイヤーキャラクターの情報を表す 1 つのノードを作成することができます。