C# インターフェース
ドキュメントバージョン: 0.3.6
通常の C# インターフェースを定義し、UdonSharpBehaviour で実装できます。引数、戻り値、プロパティ、複数実装、インターフェース配列に対応します。
public interface INumberOperation
{
int Apply(int value);
int LastResult { get; }
}
public class AddNumberOperation : UdonSharpBehaviour, INumberOperation
{
[SerializeField] private int amount = 5;
private int _lastResult;
public int LastResult => _lastResult;
public int Apply(int value)
{
_lastResult = value + amount;
return _lastResult;
}
}
Unity はインターフェース型フィールドをシリアライズできません。具体的なコンポーネントを保存し、実行時にインターフェース型のローカル変数へ代入してください。
対応外: generic interface/method、interface 継承、default/static member、event、indexer、明示的実装、組み込み Udon event と衝突する名前。