Exemplo n.º 1
0
        private void OnSpawnDataReceived(Data_Spawn data)
        {
            var prefab   = spawnablePrefabs[data.PrefabIndex];
            var position = data.Position;
            var rotation = data.Rotation;

            Instantiate(prefab, position, rotation);
        }
Exemplo n.º 2
0
 /// <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);
         }
     }
 }