public void Activate() { var stage = 0; while (true) { switch (stage) { case 0: _trafficLight.SetRed(); LongWait(); break; case 1: _trafficLight.SetRedAndYellow(); ShortWait(); break; case 2: _trafficLight.SetGreen(); LongWait(); break; case 3: _trafficLight.SetYellow(); stage = -1; ShortWait(); break; } stage++; } }
private void OnBuildStateFetched(BuildState state) { switch (state) { case BuildState.red: _trafficLight.SetRed(); break; case BuildState.red_anime: _trafficLight.SetRedAndYellow(); break; case BuildState.yellow: _trafficLight.SetYellow(); break; case BuildState.yellow_anime: _trafficLight.SetRedAndYellow(); break; case BuildState.blue: _trafficLight.SetGreen(); break; case BuildState.blue_anime: _trafficLight.SetYellowAndGreen(); break; case BuildState.grey: case BuildState.disabled: _trafficLight.SetOff(); break; default: throw new Exception("Unrecognised state: " + state); } }