package org.newdawn.slick.command;
/**
* A control indicating that a particular direction must be pressed or released
* on a controller to cause the command to fire
*
* @author kevin
*/
public class ControllerDirectionControl extends ControllerControl {
/** The direction indicating we're waiting for the user to press left */
public static final Direction LEFT = new Direction(LEFT_EVENT);
/** The direction indicating we're waiting for the user to press up */
public static final Direction UP = new Direction(UP_EVENT);
/** The direction indicating we're waiting for the user to press down */
public static final Direction DOWN = new Direction(DOWN_EVENT);
/** The direction indicating we're waiting for the user to press right */
public static final Direction RIGHT = new Direction(RIGHT_EVENT);
/**
* Create a new input that indicates a direcitonal control must be pressed
*
* @param controllerIndex The index of the controller to listen to
* @param dir The direction to wait for
*/
public ControllerDirectionControl(int controllerIndex, Direction dir) {
super(controllerIndex, dir.event, 0);
}
/**
* Enum pretender
*
* @author kevin
*/
private static class Direction {
/** The event to be fired for this direction */
private int event;
/**
* Create a new direction indicator/enum value
*
* @param event The event to fire when this direction is used
*/
public Direction(int event) {
this.event = event;
}
}
}