I have a straight road and I instantiate a random cars on it.Every car has different speed, I attached a raycast front of them and I want if that ray touch any car in front car will brake(take speed of the car in front). But my code makes every car`s speed equal.How can I do this.
Here is my code
public int speed;
RaycastHit hit;
void Start()
{
speed = Random.Range(25, 45);
}
// Update is called once per frame
public void Update()
{
int layerMask = 1 << 8;
if( Physics.Raycast(transform.position + new Vector3(0f, 0.5f, 0f), transform.forward, out hit, 10f,layerMask))
{
Debug.DrawRay(transform.position + new Vector3(0f, 0.5f, 0f), transform.TransformDirection(Vector3.forward) * hit.distance, Color.red);
Debug.Log("speed" + hit.transform.GetComponent<EnemyCarMove>().speed);
speed = hit.transform.GetComponent<EnemyCarMove>().speed;
}
transform.Translate(0, 0, 1 * speed * Time.deltaTime,Space.World);
}