/**
*
*/
package net.scapeemulator.game.model.player.requirement;
import java.util.ArrayList;
import java.util.List;
import net.scapeemulator.game.model.player.Player;
/**
* @author David
*
*/
public class Requirements {
private final List<Requirement> requirements = new ArrayList<>();
public void addRequirement(Requirement requirement) {
requirements.add(requirement);
}
public void addRequirements(Requirement ... requirements) {
for (Requirement requirement : requirements) {
this.requirements.add(requirement);
}
}
public void addRequirement(int index, Requirement requirement) {
requirements.add(index, requirement);
}
public boolean hasRequirementsDisplayAll(Player player) {
boolean hasRequirements = true;
for (Requirement requirement : requirements) {
if (!requirement.hasRequirement(player)) {
requirement.displayErrorMessage(player);
hasRequirements = false;
}
}
return hasRequirements;
}
public boolean hasRequirementsDisplayOne(Player player) {
for (Requirement requirement : requirements) {
if (!requirement.hasRequirement(player)) {
requirement.displayErrorMessage(player);
return false;
}
}
return true;
}
public boolean hasRequirements(Player player) {
for (Requirement requirement : requirements) {
if (!requirement.hasRequirement(player)) {
return false;
}
}
return true;
}
public void fulfillAll(Player player) {
for (Requirement requirement : requirements) {
requirement.fulfill(player);
}
}
}