public void Spawn(ServerGameEntity entity) { ViewTypeEnum viewType = entity.viewType.value; Vector3 spawnPosition = entity.spawnTransform.position; Quaternion spawnRotation = entity.spawnTransform.rotation; GameObject prefab = prefabStorage.GetPrefab(viewType); GameObject go = physicsSpawner.SpawnProjectile(prefab, spawnPosition, spawnRotation); go.layer = projectileLayerNumber; entity.AddTransform(go.transform); Rigidbody rigidbody = go.GetComponent <Rigidbody>(); entity.AddRigidbody(rigidbody); go.Link(entity); entity.AddView(go); if (entity.hasParentWarship) { var projectileCollider = go.GetComponent <Collider>(); Collider[] warshipColliders = entity.parentWarship.entity.warshipColliders.colliders; Vector3 parentVelocity = entity.parentWarship.entity.rigidbody.value.velocity; rigidbody.velocity = parentVelocity; physicsSpawner.Ignore(new[] { projectileCollider }, warshipColliders); } }