public static IndustrialOven.MenuRecipeInfo ReturnSelectedFoodItem(OFBOven.Menu menu, Sim sim) { List <ObjectPicker.HeaderInfo> headers = new List <ObjectPicker.HeaderInfo>(); List <ObjectPicker.TabInfo> listObjs = new List <ObjectPicker.TabInfo>(); //IndustrialOven.Menu menu = parameters.Target as IndustrialOven.Menu; if (menu == null) { return(null); } int cost = sim.FamilyFunds; if (sim.TraitManager.HasElement(TraitNames.DiscountDiner)) { cost = 2147483647; } List <IndustrialOven.MenuRecipeInfo> foodsAtOrBelowCost = menu.GetFoodsAtOrBelowCost(cost); if (foodsAtOrBelowCost == null) { return(null); } headers.Add(new ObjectPicker.HeaderInfo("Store/Objects/IndustrialOven:SelectRecipeHeader", "Store/Objects/IndustrialOven:SelectRecipeHeaderTooltip", 500)); List <ObjectPicker.RowInfo> list = new List <ObjectPicker.RowInfo>(); for (int i = 0; i < foodsAtOrBelowCost.Count; i++) { Recipe recipe = foodsAtOrBelowCost[i].FindRecipe(); if (recipe != null) { List <ObjectPicker.ColumnInfo> list2 = new List <ObjectPicker.ColumnInfo>(); list2.Add(new ObjectPicker.ThumbAndTextColumn(recipe.GetThumbnailKey(ThumbnailSize.Large), recipe.GenericName)); ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(foodsAtOrBelowCost[i], list2); list.Add(item); } } ObjectPicker.TabInfo item2 = new ObjectPicker.TabInfo("recipeRowImageName", StringTable.GetLocalizedString("Store/Objects/IndustrialOven/SetMenu:TabText"), list); listObjs.Add(item2); List <ObjectPicker.RowInfo> selection = ObjectPickerDialog.Show(true, ModalDialog.PauseMode.PauseSimulator, CommonMethodsOFBBistroSet.LocalizeString("SelectMeal", new object[] { sim.FullName }), CommonMethodsOFBBistroSet.LocalizeString("Select", new object[0]), CommonMethodsOFBBistroSet.LocalizeString("Cancel", new object[0]), listObjs, headers, 1); if (selection != null && selection.Count > 0) { return((IndustrialOven.MenuRecipeInfo)selection[0].Item); } return(null); }