private static async Task RunTeleprompter() { var config = new TeleprompterConfig(); var displayTask = ShowTeleprompter(config); var speedTask = GetInput(config); await Task.WhenAny(displayTask, speedTask); }
private static async Task ShowTeleprompter(TeleprompterConfig config) { var words = ReadFrom("sampleQuotes.txt"); foreach (var word in words) { Console.Write(word); if (!string.IsNullOrWhiteSpace(word)) { await Task.Delay(config.DelayInMilliseconds); } } }
private static async Task ShowTeleprompter(TeleprompterConfig config) { var words = ReadFrom("/Users/asadar/Documents/GitHub/Console-Application/ConsoleApplication/sampleQuotes.txt"); foreach (var line in words) { Console.Write(line); if (!string.IsNullOrWhiteSpace(line)) { await Task.Delay(config.DelayInMilliseconds); } } config.SetDone(); }
private static async Task ShowTeleprompter(TeleprompterConfig config) { var words = ReadFrom("sampleQuotes.txt"); foreach (var line in words) { Console.Write(line); if (!string.IsNullOrWhiteSpace(line)) { await Task.Delay(config.delay); } } config.SetDone(); }
private static async Task GetInput(TeleprompterConfig config) { Action work = () => { do { var key = Console.ReadKey(true); if (key.KeyChar == '>') { config.UpdateDelay(-10); } else if (key.KeyChar == '<') { config.UpdateDelay(10); } } while (true); }; await Task.Run(work); }