package net.scapeemulator.game.model.player.action;
import net.scapeemulator.game.model.player.Player;
import net.scapeemulator.game.task.Action;
/**
* A player Action that sets the player blocked when it starts and then unblocks when it is stopped.
*
* @author David Insley
*/
public abstract class BlockedAction extends Action<Player> {
private boolean blocked;
public BlockedAction(Player player, int delay, boolean immediate) {
super(player, delay, immediate);
}
public void execute() {
if (!blocked) {
mob.setActionsBlocked(true);
blocked = true;
}
executeAction();
}
public abstract void executeAction();
@Override
public void stop() {
mob.setActionsBlocked(false);
}
}