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); }
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); }