private void OnSpawnDataReceived(Data_Spawn data) { var prefab = spawnablePrefabs[data.PrefabIndex]; var position = data.Position; var rotation = data.Rotation; Instantiate(prefab, position, rotation); }
/// <summary> /// Synchronize all network objects with client /// </summary> /// <param name="client">Client to synchronize</param> private void Synchronize(ConnectedClient client) { foreach (var networkObject in _networkObjects.Values) { if (networkObject.PrefabIndex != -1) { var spawnData = new Data_Spawn() { PrefabIndex = networkObject.PrefabIndex, Position = networkObject.Position, Rotation = networkObject.Rotation }; _dataPackets[client.Id].Add(spawnData); } else { var posData = new Data_Position() { Id = networkObject.Id, Position = networkObject.Position, Instantly = true }; _dataPackets[client.Id].Add(posData); var rotData = new Data_Rotation() { Id = networkObject.Id, Rotation = networkObject.Rotation, Instantly = true }; _dataPackets[client.Id].Add(rotData); var sclData = new Data_Scale() { Id = networkObject.Id, Scale = networkObject.Scale, Instantly = true }; _dataPackets[client.Id].Add(sclData); } } }