package com.bitwaffle.spaceguts.input; /** * This interface is used in {@link Keys} and {@link Buttons}, so that they can both be easily referenced in {@link KeyBindings} * @author TranquilMarmot * @see Keys * @see Buttons * @see KeyBindings * */ public interface Button { /** * Notify the key that it's been pressed */ public void press(); /** * Notify the key that it's been released */ public void release(); /** * @return Whether or not the key is being pressed */ public boolean isPressed(); /** * @return True if this is the first call to pressedOnce since the key was pressed, else false */ public boolean pressedOnce(); }