private void SelectRecipe(Recipe recipe) { if (recipe != null && selectedRecipe != recipe) { selectedRecipe = recipe; UpdateRecipeText(); ingredients.Clear(); foreach (Item requiredItem in selectedRecipe.requiredItem) { Item item = requiredItem.Clone(); ingredients.Add(item); RecipeGroup recipeGroup = RecipeGroup.recipeGroups[RecipeGroupID.Wood]; if (selectedRecipe.anyWood && recipeGroup.ContainsItem(item.type)) { item.SetNameOverride(recipeGroup.GetText()); continue; } recipeGroup = RecipeGroup.recipeGroups[RecipeGroupID.Sand]; if (selectedRecipe.anySand && recipeGroup.ContainsItem(item.type)) { item.SetNameOverride(recipeGroup.GetText()); continue; } recipeGroup = RecipeGroup.recipeGroups[RecipeGroupID.IronBar]; if (selectedRecipe.anyIronBar && recipeGroup.ContainsItem(item.type)) { item.SetNameOverride(recipeGroup.GetText()); continue; } recipeGroup = RecipeGroup.recipeGroups[RecipeGroupID.Fragment]; if (selectedRecipe.anyFragment && recipeGroup.ContainsItem(item.type)) { item.SetNameOverride(recipeGroup.GetText()); continue; } recipeGroup = RecipeGroup.recipeGroups[RecipeGroupID.PressurePlate]; if (selectedRecipe.anyPressurePlate && recipeGroup.ContainsItem(item.type)) { item.SetNameOverride(recipeGroup.GetText()); continue; } if (selectedRecipe.ProcessGroupsForText(item.type, out string nameOverride)) { item.SetNameOverride(nameOverride); } } RefreshStorageItems(); } }
public override string ToString() { int count = listOfItems.Sum(x => x.Item2); return($"{ItemHoverFixTagHandler.GenerateTag(recipeGroup.ValidItems[recipeGroup.IconicItemIndex], count, recipeGroup.GetText(), false)} ({string.Concat(listOfItems.Select(x => ItemHoverFixTagHandler.GenerateTag(x.Item1, x.Item2, null, true)))})"); // return $"Haves: {string.Join(", ", listOfItems.Select(x => $"{Lang.GetItemNameValue(x.Item1)} ({x.Item2})"))}"; }
static CraftGroup<ItemDef, ItemRef> ItemGroupFromVanilla(RecipeGroup g) { return new CraftGroup<ItemDef, ItemRef>( g.ValidItems.Select(t => new ItemRef(t)), g.GetText(), new ItemRef(g.IconicItemIndex)); }
static CraftGroup <ItemDef, ItemRef> ItemGroupFromVanilla(RecipeGroup g) { return(new CraftGroup <ItemDef, ItemRef>( g.ValidItems.Select(t => new ItemRef(t)), g.GetText(), new ItemRef(g.IconicItemIndex))); }