// 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);
     }
 }