private void FixedUpdate() { transform.position += transform.forward * Time.deltaTime * (speed * speedMultiplier); if (Physics.Raycast(transform.position + raycastOffset, transform.forward, out hit, dist, layerToHit)) { if (STOP_MOVING) { return; } int hitLayer = hit.transform.gameObject.layer; if (hitLayer == LayerMask.NameToLayer("Vehicle")) { STOP_MOVING = true; SlowDownCar(); Debug.Log(hit.collider.gameObject); return; } if (hitLayer == LayerMask.NameToLayer("TrafficLights")) { STOP_MOVING = true; SlowDownCar(); // 1 = North // 2 = East // 3 = South // 4 = West // Potentiallity to add turning here LightManager.TravelDirection directionToTravel = PickNextDirection(Random.Range(1, 2)); hit.transform.GetComponent <LightReceiver>().ReceiveMessage(directionToTravel); Debug.Log(hit.collider.gameObject); return; } } }
public void ReceiveMessage(LightManager.TravelDirection direction) { // Car is at lights now lightManager.ChangeLights(direction); //pathChecker.SetActive(true); }