override public bool Satisfied(IWorldState worldState) { IEntity owner = worldState.GetEntity(ownerId); foreach (Item i in owner.GetInventory()) { if (itemFilter.Satisfied(i)) { return(true); } } return(false); }
public List <Item> Filter(ItemFilter filter) { List <Item> filtered = new List <Item>(); foreach (Item i in items) { if (filter.Satisfied(i)) { filtered.Add(i); } } return(filtered); }
public override void ExecuteImmediate(IWorldState worldState) { IEntity entity = worldState.GetEntity(entityId); foreach (Item item in entity.GetInventory()) { if (itemFilter.Satisfied(item) && item.equippable) { entity.EquipItem(item, item.slot); return; } } }