package net.scapeemulator.game.model.player.requirement; import net.scapeemulator.game.model.player.Player; /** * @author David Insley */ public class OneOfRequirement extends Requirement { private final Requirement[] requirements; private final String error; public OneOfRequirement(Requirement... requirements) { this(null, requirements); } public OneOfRequirement(String error, Requirement... requirements) { this.error = error; this.requirements = requirements; } @Override public boolean hasRequirement(Player player) { for (Requirement requirement : requirements) { if (requirement.hasRequirement(player)) { return true; } } return false; } @Override public void displayErrorMessage(Player player) { if (error != null) { player.sendMessage(error); } } @Override public void fulfill(Player player) { for (Requirement requirement : requirements) { if (requirement.hasRequirement(player)) { requirement.fulfill(player); return; } } } }