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;
}
@Override
public boolean fulfilledBy(int itemId)
{
for (ItemRequirement requirement : requirements)
{
if (requirement.fulfilledBy(itemId))
{
return true;
}
}
return false;
}
@Override
public boolean fulfilledBy(Item[] items)
{

View File

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

View File

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

View File

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

View File

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

View File

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