public static int CountTotalOfEach(Item[] collection, ISet <int> itemTypes) { var set = ItemFinderHelpers.FindIndexOfEach(collection, itemTypes); int total = 0; foreach (int idx in set) { total += collection[idx].stack; } return(total); }
public static Item FindFirstPlayerItemOfType(Player player, int itemType) { Item item = ItemFinderHelpers.FindFirstItemOfType(player.inventory, itemType); if (item != null) { return(item); } if (player.chest >= 0) // Player's current chest { item = ItemFinderHelpers.FindFirstItemOfType(Main.chest[player.chest].item, itemType); if (item != null) { return(item); } } if (player.chest == -2) // Piggy bank { item = ItemFinderHelpers.FindFirstItemOfType(player.bank.item, itemType); if (item != null) { return(item); } } if (player.chest == -3) // Safe { item = ItemFinderHelpers.FindFirstItemOfType(player.bank2.item, itemType); if (item != null) { return(item); } } if (player.chest == -4) // ..whatever this is { item = ItemFinderHelpers.FindFirstItemOfType(player.bank3.item, itemType); if (item != null) { return(item); } } return(null); }