package util.inputExample; import util.input.AlertObject; import util.input.InputClassTarget; import util.input.InputMethodTarget; /** * An example of a subclass of an annotated class which still retains * the ability for input to make method calls to inherited annotated * methods but also has the ability to reference annotated new methods. * @author Aaron Krolik */ @InputClassTarget public class PlayerSuperHero extends Player{ private final int ACCELERATION_SPEED = 20; private final int DECELERATION_SPEED = -5; /** * A super-powered version of player * @param firstImage * @param secondImage */ public PlayerSuperHero(Pixmap firstImage, Pixmap secondImage) { super(firstImage, secondImage); } /** * An overriden method which can be called by Input to speed * up the player. */ @Override @InputMethodTarget(name="playerspeedup") public void speedUp(AlertObject alObj){ changeMinigameSpeed(ACCELERATION_SPEED); } /** * An overriden method which can be called by Input to slow * down the player. */ @Override @InputMethodTarget(name="playerslowdown") public void slowDown() { changeMinigameSpeed(DECELERATION_SPEED); } }