Example #1
0
    public bool DropItemTo <T>(ItemClickable storage, T itemType)
        where T : ItemTransferrable
    {
        if (!ReleaseItem(10, itemType, false, out List <ItemTransferrable> items))
        {
            return(false);
        }

        bool dropped = storage.ReceiveItem(items);

        return(dropped);
    }
Example #2
0
    public bool GetItemFrom <T>(ItemClickable storage, int quantity, T itemType, out List <ItemTransferrable> items, Element owner = null)
        where T : ItemTransferrable
    {
        quantity = ComputeQuantity(quantity);

        if (!storage.ReleaseItem(quantity, itemType, owner, out List <ItemTransferrable> _items))
        {
            items = _items; return(false);
        }

        ItemTransferrable[] itemsArray = _items.ToArray();

        bool received = ReceiveItem(itemsArray);

        items = _items;
        return(received);
    }