private static void RunCli(Emulation emulation) { // emulation.GenIterationPerformed += () => Console.WriteLine("GenIterationPerformed"); emulation.StateChanged += state => Console.WriteLine(state); emulation.Init(); while (true) { var command = Console.ReadLine(); var result = false; switch (command) { case "start": result = emulation.Start(); break; case "pause": result = emulation.Pause(); break; case "continue": result = emulation.Continue(); break; case "restart": result = emulation.Restart(); break; case "q": return; } Console.WriteLine($"[{result}]"); } }
private void PauseEmulation_Clicked(object sender, RoutedEventArgs e) { var menuItem = (MenuItem)sender; if (paused) { emulation.Continue(); menuItem.Header = "Pause emulation"; paused = false; } else { emulation.Pause(); menuItem.Header = "Continue emulation"; paused = true; } }