package magic.model.action;
import magic.model.MagicGame;
import magic.model.MagicPlayer;
import magic.model.MagicPlayerState;
public class ChangePlayerStateAction extends MagicAction {
private final MagicPlayer player;
private final MagicPlayerState state;
private boolean setPlayer = false;
public ChangePlayerStateAction(final MagicPlayer aPlayer,final MagicPlayerState aState) {
player = aPlayer;
state = aState;
}
@Override
public void doAction(final MagicGame game) {
if (!player.hasState(state)) {
player.setState(state);
setPlayer = true;
}
}
@Override
public void undoAction(final MagicGame game) {
if (setPlayer) {
player.clearState(state);
}
}
}