internal void ChangePlayerVehicle(PlayerController playerController, VehicleType vehicleType) { Players.Remove(playerController); SmoothFollow sf = playerController.GetPlayerCamera().GetComponent<SmoothFollow>() as SmoothFollow; Transform playerTransform = playerController.gameObject.transform; GameObject instance = null; switch (vehicleType) { case VehicleType.Jeep: instance = GameObject.Instantiate(JeepPrefab, playerTransform.position, playerTransform.rotation) as GameObject; break; case VehicleType.Tank: instance = GameObject.Instantiate(TankPrefab, playerTransform.position, playerTransform.rotation) as GameObject; break; } DestroyImmediate(playerController.gameObject); PlayerController instancePlayerController = instance.GetComponentInChildren<PlayerController>() as PlayerController; instancePlayerController.Team = playerController.Team; sf.target = instancePlayerController.gameObject.transform; Players.Add(instancePlayerController); }