private List <ItemInstance> _getAvailableRecipeParts(ItemTemplate recipe) { var toReturn = new List <ItemInstance>(); foreach (var i in items) { if (i == null) { continue; } if (i.getTemplate().getId() == recipe.getId() && !i.getRecipeSearchFlag()) { toReturn.Add(i); i.setRecipeSearchFlag(true); return(toReturn); } } foreach (var itemId in recipe.getRecipeParts()) { var parts = _getAvailableRecipeParts(ItemManager.getInstance().getItemTemplateById(itemId)); toReturn.AddRange(parts); } return(toReturn); }
public List <ItemInstance> getAvailableRecipeParts(ItemTemplate recipe) { var toReturn = new List <ItemInstance>(); foreach (var itemId in recipe.getRecipeParts()) { var item = ItemManager.getInstance().getItemTemplateById(itemId); if (item == null) { continue; } var parts = _getAvailableRecipeParts(item); toReturn.AddRange(parts); } foreach (var i in items) { if (i != null) { i.setRecipeSearchFlag(false); } } return(toReturn); }
/** * Returns the total price of an item. This will change for recipes, as they include their parts fees */ public int getTotalPrice() { var toReturn = price; foreach (var itemId in recipes) { var item = ItemManager.getInstance().getItemTemplateById(itemId); if (item == null) { continue; } toReturn += item.getTotalPrice(); } return(toReturn); }