Beispiel #1
0
    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);
    }
Beispiel #2
0
    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);
    }
Beispiel #3
0
    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;
            }
        }
    }