public override bool OnKeyDown([GeneratedEnum] Keycode keyCode, KeyEvent e) { PlayKey?key = null; switch (keyCode) { case Keycode.Escape: case Keycode.Q: // Escape during a title screen exits the game if (_page.GameMode == GameMode.Title) { System.Environment.Exit(0); } else { key = PlayKey.Escape; } break; case Keycode.DpadLeft: key = PlayKey.Left; break; case Keycode.DpadRight: key = PlayKey.Right; break; case Keycode.DpadUp: key = PlayKey.Up; break; case Keycode.DpadDown: key = PlayKey.Down; break; case Keycode.Space: key = PlayKey.Space; break; case Keycode.P: key = PlayKey.P; break; default: break; } if (key.HasValue) { _page.KeyDown(key.Value); } return(base.OnKeyDown(keyCode, e)); }
private void ProcessKeyDown(VirtualKey virtualKey) { PlayKey key; switch (virtualKey) { case VirtualKey.Escape: // Escape during a title screen exits the game if (_page.GameMode == GameMode.Title) { Application.Current.Exit(); return; } key = PlayKey.Escape; break; case VirtualKey.Left: key = PlayKey.Left; break; case VirtualKey.Right: key = PlayKey.Right; break; case VirtualKey.Up: key = PlayKey.Up; break; case VirtualKey.Down: key = PlayKey.Down; break; case VirtualKey.Space: key = PlayKey.Space; break; case VirtualKey.P: key = PlayKey.P; break; default: return; } _page.KeyDown(key); }