// Next signal of automatic control public void NextSignalButton() { TrafficLightsSignal signal = (TrafficLightsSignal)trafficLights.IncreaseSignalNum(); currentSignalText.text = signal.ToString(); trafficLights.ChangeSignal((int)signal); }
// Change signal of traffic lights public void ChangeSignal(int _value) { int[] a; // array for current signals lightsSignal = (TrafficLightsSignal)_value; #if UNITY_EDITOR Debug.Log("Traffic lights switch mode to " + lightsSignal); #endif switch (lightsSignal) { case TrafficLightsSignal.Off: TurnOff(); break; case TrafficLightsSignal.Red: a = new int[1]; a[0] = 0; TurnOnOff(a); maxTime = timeWorks[0]; break; case TrafficLightsSignal.RedAndYellow: a = new int[2]; a[0] = 0; a[1] = 1; TurnOnOff(a); maxTime = timeWorks[1]; break; case TrafficLightsSignal.Green: a = new int[1]; a[0] = 2; TurnOnOff(a); maxTime = timeWorks[2]; break; case TrafficLightsSignal.Yellow: a = new int[1]; a[0] = 1; TurnOnOff(a); maxTime = timeWorks[3]; break; case TrafficLightsSignal.FlashingYellow: TurnOff(); FlashLight(); break; } }