internal void SendSpawnMessage(NetworkIdentity uv, NetworkConnection conn)
{
if (uv.serverOnly)
return;
if (uv.sceneId.IsEmpty())
{
ObjectSpawnMessage objectSpawnMessage = new ObjectSpawnMessage();
objectSpawnMessage.netId = uv.netId;
objectSpawnMessage.assetId = uv.assetId;
objectSpawnMessage.position = uv.transform.position;
NetworkWriter writer = new NetworkWriter();
uv.UNetSerializeAllVars(writer);
if ((int) writer.Position > 0)
objectSpawnMessage.payload = writer.ToArray();
if (conn != null)
conn.Send((short) 3, (MessageBase) objectSpawnMessage);
else
NetworkServer.SendToReady(uv.gameObject, (short) 3, (MessageBase) objectSpawnMessage);
NetworkDetailStats.IncrementStat(NetworkDetailStats.NetworkDirection.Outgoing, (short) 3, uv.assetId.ToString(), 1);
}
else
{
ObjectSpawnSceneMessage spawnSceneMessage = new ObjectSpawnSceneMessage();
spawnSceneMessage.netId = uv.netId;
spawnSceneMessage.sceneId = uv.sceneId;
spawnSceneMessage.position = uv.transform.position;
NetworkWriter writer = new NetworkWriter();
uv.UNetSerializeAllVars(writer);
if ((int) writer.Position > 0)
spawnSceneMessage.payload = writer.ToArray();
if (conn != null)
conn.Send((short) 10, (MessageBase) spawnSceneMessage);
else
NetworkServer.SendToReady(uv.gameObject, (short) 3, (MessageBase) spawnSceneMessage);
NetworkDetailStats.IncrementStat(NetworkDetailStats.NetworkDirection.Outgoing, (short) 10, "sceneId", 1);
}
}