package vooga.rts.manager.actions;
import java.awt.Shape;
import java.awt.geom.Rectangle2D;
import vooga.rts.action.ManagerAction;
import vooga.rts.commands.Command;
import vooga.rts.commands.DragCommand;
import vooga.rts.manager.Manager;
/**
* This class is the action by which the manager selects units when the mouse
* is dragged across the screen.s
*
* @author Challen Herzberg-Brovold
*
*/
public class DragSelectAction extends ManagerAction {
/**
* The rectangle formed by the drag, within which all the units will be selected.
*/
private Shape myRectangle;
public DragSelectAction (Manager manager) {
super(manager);
}
@Override
public void apply () {
getManager().select(myRectangle);
}
@Override
public void update (Command command) {
DragCommand drag = (DragCommand) command;
myRectangle = drag.getWorldRectangle();
apply();
}
}