ネットワークビューによって監視されるスクリプトの変数の同期をカスタマイズするために使用します
シリアライズされた変数が送信/受信するタイミングは、自動的に決定されます。 詳しい説明は下記のサンプルを御覧ください。これはオブジェクトの所有者に依存され、つまり、 自身と他の全てを受信しています。
// This objects health information var currentHealth : int = 0; function OnSerializeNetworkView(stream : BitStream, info : NetworkMessageInfo) { if (stream.isWriting) { var healthC : int = currentHealth; stream.Serialize(healthC); } else { var healthZ : int = 0; stream.Serialize(healthZ); currentHealth = healthZ; } }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public int currentHealth = 0; void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info) { if (stream.isWriting) { int healthC = currentHealth; stream.Serialize(ref healthC); } else { int healthZ = 0; stream.Serialize(ref healthZ); currentHealth = healthZ; } } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public currentHealth as int = 0 def OnSerializeNetworkView(stream as BitStream, info as NetworkMessageInfo) as void: if stream.isWriting: healthC as int = currentHealth stream.Serialize() else: healthZ as int = 0 stream.Serialize() currentHealth = healthZ