// sets current state of this phase (and all attached traffic lights) public void SetState(TrafficLightBase.State state) { //if (mState == state) // return; mState = state; switch (mState) { case TrafficLightBase.State.Blank: ChangeLightState(false, false, false); break; case TrafficLightBase.State.Stop: ChangeLightState(true, false, false); break; case TrafficLightBase.State.PrepareToGo: /* ***** Removed to stop red to yellow transition ChangeLightState(true, true, false); ***** */ break; case TrafficLightBase.State.Go: ChangeLightState(false, false, true); break; case TrafficLightBase.State.PrepareToStop: ChangeLightState(false, true, false); break; case TrafficLightBase.State.YellowBlink: ChangeLightState(false, false, false); break; default: ChangeLightState(false, false, false); break; } }
// sets all phases (and coresponding traffic lights) to specific state private void SetAllPhasesTo(TrafficLightBase.State state) { foreach (TrafficLightPhase phase in PhaseList) { phase.SetState(state); } }