public void GatherImmediately(GameComponent item, Inventory.RestockType restockType = Inventory.RestockType.None) { if (item is CoinPile coins) { Faction.AddMoney(coins.Money); item.Die(); } else { Inventory.Pickup(item, restockType); } }