Used to customize synchronization of variables in a script watched by a network view.
It is automatically determined if the variables being serialized should be sent or received, see example below for a better description. This depends on who owns the object, i.e. the owner sends and all others receive.
#pragma strict // This objects health information public 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; } }
// This objects health information
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; } } }