// sets name nad timings for this phase public void Initialize(string name, float startTime, float activeTime, float endTime) { Name = name; PhaseStartTime = startTime; PhaseActiveTime = activeTime; PhaseEndTime = endTime; mState = TrafficLightBase.State.Blank; }
// 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; } }