Пример #1
0
        public static async Task Run()
        {
            var state = new LightStatus(LightState.FlashingGreen, LightState.Green, 0, 0);

            while (true)
            {
                Console.Clear();
                PrintLight(state.Current);
                state = GetNextState(state, 100);
                await Task.Delay(100);
            }
        }
Пример #2
0
 private static LightStatus GetNextState(LightStatus status, int elapsedMs) =>
 status switch
 {
     { Current : LightState.Red, ElapsedMs : var ms } when elapsedMs + ms >= 5000 => new LightStatus(LightState.Orange, status),