private void handleMenuInput() {
		if (this.upHelper.state()) {
			this.activeMenu.up();
		} else if (this.downHelper.state()) {
			this.activeMenu.down();
		} else if (this.enterHelper.state()) {
			if (this.activeMenu instanceof BattleActionMenu) {
				BattleActionMenu.Action action = (BattleActionMenu.Action) this.activeMenu.choose();
				switch (action) {
					case MOVE:
						this.currentActor = this.grid.getSelectedTile().getOccupant();
						this.state = GameState.MOVING;
						this.grid.setMoveRadius(this.grid.getSelectedLocation(), this.currentActor.getMoveSpeed());
						this.message = "Moving. Press ENTER to place or ESC to cancel.";
						this.showMessage = true;
						break;
					case ATTACK:
						this.currentActor = this.grid.getSelectedTile().getOccupant();
						this.currentEffect = new BasicAttack(this.currentActor, this.grid);
						this.state = GameState.ATTACKING;
						this.message = "Attacking. Press ENTER to choose your target or ESC to cancel.";
						this.showMessage = true;
						break;
					case CAST:
						this.currentActor = this.grid.getSelectedTile().getOccupant();
						this.currentEffect = new Cure(this.currentActor, this.grid);
						this.state = GameState.ATTACKING;
						this.message = "Casting Cure!";
						this.showMessage = true;
						break;
					case CANCEL:
					default:
						break;
				}
			}
			this.activeMenu = null;
		}
		if (this.activeMenu != null) {
			this.message = this.activeMenu.getDescription();
		}
	}