Exemple #1
0
        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;

        }