public void update(GameContainer gc, int delta) {
		animateBasedOnUserInput(input);
		if (movementButtonIsPressed(input)) current.update(delta);

		float speedInTilesPerSecond = 3.0f;
		float pixelsPerTile = 32.0f;
		float distance = speedInTilesPerSecond * pixelsPerTile * delta / 1000f;

		if (input.isKeyDown(Input.KEY_UP)) {
			position.y -= distance;
		} else if (input.isKeyDown(Input.KEY_DOWN)) {
			position.y += distance;
		}
		if (input.isKeyDown(Input.KEY_LEFT)) {
			position.x -= distance;
		} else if (input.isKeyDown(Input.KEY_RIGHT)) {
			position.x += distance;
		}

		collisionShape.setX(position.x);
		collisionShape.setY(position.y + 24);
	}