public void Transfer <T> (Inventory boundInventory, int amount = -1, ItemHasAttribute transferable = null) where T : ItemHolder { T sender = boundInventory.Get <T> () as T; T receiver = Get <T> () as T; receiver.Transfer(sender, amount, transferable); }
public abstract List <Item> Remove(int amount, ItemHasAttribute transferable);
public abstract void Transfer(ItemHolder holder, int amount, ItemHasAttribute transferable);
public abstract bool Has(ItemHasAttribute contains);