private DigitalWatch() { displayTimeMode = new DisplayTimeMode(); incrementHoursMode = new IncrementHoursMode(); incrementMinutesMode = new IncrementMinutesMode(); displayTimeMode.next = incrementHoursMode; incrementHoursMode.next = incrementMinutesMode; incrementMinutesMode.next = displayTimeMode; currentMode = displayTimeMode; crystal1Hz = new Crystal(1000); crystal1Hz.observer = currentMode; crystal1Hz.Enabled = true; }
public void run() { ConsoleKeyInfo keyInfo; while (true) { keyInfo = Console.ReadKey(); if (keyInfo.Key.Equals(ConsoleKey.D1)) { currentMode = currentMode.next; } else if (keyInfo.Key.Equals(ConsoleKey.D2)) { currentMode.button2Pressed(); } } }