package vooga.rts.action; import vooga.rts.commands.Command; import vooga.rts.gamedesign.sprite.gamesprites.interactive.units.Unit; /** * The action interface for the command design pattern, which allows us to * link inputs (keyboard, mouse, etc) to the appropriate actions they invoke * on the selected units or managers * * @author Challen Herzberg-Brovold (and whoever else worked with Actions) * */ public interface Action { /** * Applies or executes the Action. This runs the code that was * defined for the apply method in any concrete classes. */ public void apply (); /** * Updates the action with the command that created the action. * This lets the apply method take in parameters or other things * that are related to the command. * * @param command The command that triggered this action. */ public void update (Command command); }