型 内容 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();
}
}
...
}