/// <summary> /// Listen to text input to the main window (E.g. key presses) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MainWindow_TextInput(object sender, TextCompositionEventArgs e) { if (!string.IsNullOrWhiteSpace(e.Text)) { // if not handled by current demo. if (!m_CurrentDemo.HandleKeyPress(e.Text[0])) { // Finish Current Demo m_CurrentDemo.Finish(); // id passed - Default Demo used if id out of range SetCurrentDemo(e.Text[0]); } } }
/// <summary> /// Handle key press. /// </summary> private static void HandleKeyPress() { if (Console.KeyAvailable) { var key = Console.ReadKey(); // see if current demo is handling the key press. if (!m_CurrentDemo.HandleKeyPress(key.KeyChar)) { // exit on q if (key.KeyChar == 'q') { m_Exit = true; } else // choose demo. { SetCurrentDemo(key.KeyChar); } } } }