public void SpawnPrefab(Vector3 pos, Quaternion rotation, bool takeLocalControl) { // Start this... enabled = true; PrefabInstance = null; netSpawnAtTime = VNetSessionTime.Inst.GetServerTime() + VNetManager.Inst.PrefabSpawnDelay; spawnPos = pos; spawnRot = rotation; spawnOwnerID = takeLocalControl ? VNet.Inst.GetUID() : VNetCommon.NET_CLIENT_INVALID_UID; spawnObjectGUID = VNetUtils.GenerateUID(); // create a message and send it out VNetMessageSpawnPrefab spawn = new VNetMessageSpawnPrefab(); spawn.transformUID = netIdentifier; spawn.localControlUID = spawnOwnerID; spawn.time = netSpawnAtTime; spawn.localPosition = pos; spawn.localRotation = rotation; spawn.objectGUID = spawnObjectGUID; VNet.Inst.SendToLobby(spawn, true); }
public void SpawnNetPrefab(VNetMessageSpawnPrefab message) { netSpawnAtTime = message.time; spawnPos = message.localPosition; spawnRot = message.localRotation; spawnOwnerID = message.localControlUID; spawnObjectGUID = message.objectGUID; enabled = true; }
public void OnSpawnPrefabMessage(VNetMessageSpawnPrefab message) { if (m_spawnPrefabs.ContainsKey(message.transformUID) == false) { return; } VNetSpawnPrefab pref = m_spawnPrefabs [message.transformUID]; pref.SpawnNetPrefab(message); }
public override VNetMessage Clone() { VNetMessageSpawnPrefab clone = (VNetMessageSpawnPrefab)base.Clone(); clone.transformUID = transformUID; clone.time = time; clone.localPosition = localPosition; clone.localRotation = localRotation; clone.localControlUID = localControlUID; clone.objectGUID = objectGUID; return(clone); }