Add fulfilledBy(int itemId) to item requirements

This commit is contained in:
raiyni
2018-10-12 09:18:23 -05:00
committed by Ron Young
parent 1d9e887676
commit cd5155c4b1
6 changed files with 48 additions and 0 deletions

View File

@@ -36,6 +36,20 @@ public class AllRequirementsCollection implements ItemRequirement
this.requirements = requirements; this.requirements = requirements;
} }
@Override
public boolean fulfilledBy(int itemId)
{
for (ItemRequirement requirement : requirements)
{
if (requirement.fulfilledBy(itemId))
{
return true;
}
}
return false;
}
@Override @Override
public boolean fulfilledBy(Item[] items) public boolean fulfilledBy(Item[] items)
{ {

View File

@@ -38,6 +38,20 @@ public class AnyRequirementCollection implements ItemRequirement
this.requirements = requirements; this.requirements = requirements;
} }
@Override
public boolean fulfilledBy(int itemId)
{
for (ItemRequirement requirement : requirements)
{
if (requirement.fulfilledBy(itemId))
{
return true;
}
}
return false;
}
@Override @Override
public boolean fulfilledBy(Item[] items) public boolean fulfilledBy(Item[] items)
{ {

View File

@@ -29,6 +29,8 @@ import net.runelite.api.Item;
public interface ItemRequirement public interface ItemRequirement
{ {
boolean fulfilledBy(int itemId);
boolean fulfilledBy(Item[] items); boolean fulfilledBy(Item[] items);
String getCollectiveName(Client client); String getCollectiveName(Client client);

View File

@@ -40,6 +40,12 @@ public class RangeItemRequirement implements ItemRequirement
this.endItemId = endItemId; this.endItemId = endItemId;
} }
@Override
public boolean fulfilledBy(int itemId)
{
return itemId >= startItemId && itemId <= endItemId;
}
@Override @Override
public boolean fulfilledBy(Item[] items) public boolean fulfilledBy(Item[] items)
{ {

View File

@@ -37,6 +37,12 @@ public class SingleItemRequirement implements ItemRequirement
this.itemId = itemId; this.itemId = itemId;
} }
@Override
public boolean fulfilledBy(int itemId)
{
return this.itemId == itemId;
}
@Override @Override
public boolean fulfilledBy(Item[] items) public boolean fulfilledBy(Item[] items)
{ {

View File

@@ -39,6 +39,12 @@ public class SlotLimitationRequirement implements ItemRequirement
this.slots = slots; this.slots = slots;
} }
@Override
public boolean fulfilledBy(int itemId)
{
return false;
}
@Override @Override
public boolean fulfilledBy(Item[] items) public boolean fulfilledBy(Item[] items)
{ {