private void CheckKeyboard() { bool didPlayerAct = false; KeyboardKeys key = screen.GetUserKey(); if (CommandSystem.IsPlayerTurn) { switch (key) { case KeyboardKeys.UpLeft: didPlayerAct = CommandSystem.MovePlayer(Direction.UpLeft); break; case KeyboardKeys.Up: didPlayerAct = CommandSystem.MovePlayer(Direction.Up); break; case KeyboardKeys.UpRight: didPlayerAct = CommandSystem.MovePlayer(Direction.UpRight); break; case KeyboardKeys.Left: didPlayerAct = CommandSystem.MovePlayer(Direction.Left); break; case KeyboardKeys.Right: didPlayerAct = CommandSystem.MovePlayer(Direction.Right); break; case KeyboardKeys.DownLeft: didPlayerAct = CommandSystem.MovePlayer(Direction.DownLeft); break; case KeyboardKeys.Down: didPlayerAct = CommandSystem.MovePlayer(Direction.Down); break; case KeyboardKeys.DownRight: didPlayerAct = CommandSystem.MovePlayer(Direction.DownRight); break; case KeyboardKeys.QAbility: didPlayerAct = Player.QAbility.Perform(); break; case KeyboardKeys.WAbility: didPlayerAct = Player.WAbility.Perform(); break; case KeyboardKeys.EAbility: didPlayerAct = Player.EAbility.Perform(); break; case KeyboardKeys.RAbility: didPlayerAct = Player.RAbility.Perform(); break; case KeyboardKeys.StairsDown: if (MapManager.CanMoveToNextLevel()) { MoveMapLevelDown(); didPlayerAct = true; } break; case KeyboardKeys.CloseGame: screen.CloseApp(); break; default: break; } if (didPlayerAct) { needRender = true; CommandSystem.EndPlayerTurn(); } } }