void OnTriggerExit(Collider other)
 {
     if (other.gameObject.CompareTag("Traffic"))
     {
         car = other.GetComponent <TrafficCarAI> ();
         car.onSignalHold = false;
     }
 }
 void OnTriggerStay(Collider other)
 {
     if (other.gameObject.CompareTag("Traffic"))
     {
         car = other.GetComponent <TrafficCarAI> ();
         if (signal == SignalStatus.STOP)
         {
             car.onSignalHold = true;
         }
         else
         {
             car.onSignalHold = false;
         }
     }
 }
    IEnumerator generator()
    {
        yield return(new WaitForSeconds(Random.Range(0, 6)));

        while (true)
        {
            if (currentTrafficNumber < maxTrafficNumber)
            {
                int          ran             = Random.Range(0, traffic.Length);
                GameObject   trafficInstance = Instantiate(traffic [ran], transform.position, transform.rotation) as GameObject;
                TrafficCarAI temp            = trafficInstance.GetComponent <TrafficCarAI> ();
                temp.pathMap = transform;
                currentTrafficNumber++;
            }

            yield return(new WaitForSeconds(Random.Range(minDelay, maxDelay)));
        }
    }