型 内容 List<UnityEngine.Component> オブジェクト同期のためのコールバックメソッドを含む、スクリプトのコンポーネントです。
入出力の際には、GameObject.GetComponent<> メソッドなどを利用して取得して登録してください。
// 特定の同期オブジェクトに登録されているスクリプト Foo から、 // 同じオブジェクトに登録されているスクリプト Boo の同期処理を管理します。 // // Foo クラス, Boo クラスともに MonobitEngine.MonoBehaviour を継承し、 // 加えて、Boo クラスには オブジェクト同期処理をするためのコールバックメソッドが実装済みであることを前提とします。 class Foo : MonobitEngine.MonoBehaviour { ... // スクリプト Boo の同期処理を、Observed Component Registration List に登録します。 public void Method_A() { // Boo のコンポーネントを取得します。 UnityEngine.Component component = gameObject.GetComponent<Boo>(); // 二重登録を防止するため、Contains で見つからなかった場合、リストに登録するようにします。 if (!monobitView.ObservedComponents.Contains(component)) { monobitView.ObservedComponents.Add(component); // 登録内容を monobitView オブジェクトに反映させます。 monobitView.UpdateSerializeViewMethod(); } } ... // スクリプト Boo の同期処理を、Observed Component Registration List から削除します。 public void Method_A() { // Boo のコンポーネントを取得します。 UnityEngine.Component component = gameObject.GetComponent<Boo>(); // Contains で見つかった場合、リストから削除するようにします。 if (monobitView.ObservedComponents.Contains(component)) { monobitView.ObservedComponents.Remove(component); // 削除内容を monobitView オブジェクトに反映させます。 monobitView.UpdateSerializeViewMethod(); } } ... }
型 変数名 内容 - - -
型 内容 void -
// 特定の同期オブジェクトに登録されているスクリプト Foo から、 // 同じオブジェクトに登録されているスクリプト Boo の同期処理を管理します。 // // Foo クラス, Boo クラスともに MonobitEngine.MonoBehaviour を継承し、 // 加えて、Boo クラスには オブジェクト同期処理をするためのコールバックメソッドが実装済みであることを前提とします。 class Foo : MonobitEngine.MonoBehaviour { ... // スクリプト Boo の同期処理を、Observed Component Registration List に登録します。 public void Method_A() { // Boo のコンポーネントを取得します。 UnityEngine.Component component = gameObject.GetComponent<Boo>(); // 二重登録を防止するため、Contains で見つからなかった場合、リストに登録するようにします。 if (!monobitView.ObservedComponents.Contains(component)) { monobitView.ObservedComponents.Add(component); // 登録内容を monobitView オブジェクトに反映させます。 monobitView.UpdateSerializeViewMethod(); } } ... // スクリプト Boo の同期処理を、Observed Component Registration List から削除します。 public void Method_A() { // Boo のコンポーネントを取得します。 UnityEngine.Component component = gameObject.GetComponent<Boo>(); // Contains で見つかった場合、リストから削除するようにします。 if (monobitView.ObservedComponents.Contains(component)) { monobitView.ObservedComponents.Remove(component); // 削除内容を monobitView オブジェクトに反映させます。 monobitView.UpdateSerializeViewMethod(); } } ... }