Version: 2023.1
言語: 日本語
バインディングシステム実装の詳細
C# スクリプトでバインディングパスを使ってバインドする

バインディングの例

エディターのデータバインディングを例を使って学びます。

基本的なバインディングの例

トピック 説明 
C# スクリプトでバインディングパスによってバインドする bindingPath を使って、カスタムエディターウィンドウのゲームオブジェクトの名前を変更するバインディングを作成します。
バインディングパスなしでバインドする BindProperty() を使って、カスタムエディターウィンドウのゲームオブジェクトの名前を変更するバインディングを作成します。
UXML と C# でバインドする UXML でバインディングの作成とバインディングパスの設定を行い、C# の Bind() でバインドします。
Inspector でバインディングを作成する カスタム Inspector、カスタムエディター、およびシリアル化されたオブジェクトをバインドするバインディングを作成します。
ネスト状のプロパティにバインドする UXML の BindableElement の binding-path 属性を使用して、フィールドをSerializedObject のネスト上のプロパティにバインドします。
UXML テンプレートへバインドする UXML テンプレートを使って、バインディングの作成とバインディングパスの設定を行います。
バインドされたプロパティが変更されたときにコールバックを受信する シーン内のゲームオブジェクトの名前にバインドする TextField を持つカスタムエディタウィンドウを作成します。
バインドされたプロパティが変更されたときにコールバックを受信する 2 つのフィールドを持つカスタム Inspector を作成し、フィールドの値が特定の範囲外の場合にユーザに警告を表示します。

高度なバインディングの例

トピック 説明 
ListView を使ってリストへバインドする トグルのリストを作成し、そのリストをオブジェクトの基礎となるリストにバインドします。
ListView を使わないでリストへバインドする ListView の代わりに配列を使ってリストにバインドするバインディングを作成します。
カスタムコントロールのバインド カスタムコントロールを作成し、ネイティブの Unity タイプにバインドします。
カスタムコントロールとカスタムデータ型のバインド カスタムコントロールを作成し、カスタムデータ型にバインドします。

その他の参考資料

バインディングシステム実装の詳細
C# スクリプトでバインディングパスを使ってバインドする