private static ScientificSample SelectDNASample(Sim robot, CASAgeGenderFlags gender) { List <ObjectPicker.HeaderInfo> list = new List <ObjectPicker.HeaderInfo>(); List <ObjectPicker.TabInfo> list2 = new List <ObjectPicker.TabInfo>(); List <ScientificSample> dnaSamples = GetDNASamples(robot, gender); int numSelectableRows = 1; ObjectPicker.TabInfo tabInfo = new ObjectPicker.TabInfo(string.Empty, "TabText", new List <ObjectPicker.RowInfo>()); foreach (ScientificSample current in dnaSamples) { ObjectPicker.RowInfo rowInfo = new ObjectPicker.RowInfo(current, new List <ObjectPicker.ColumnInfo>()); rowInfo.ColumnInfo.Add(new ObjectPicker.ThumbAndTextColumn(current.GetThumbnailKey(), current.GetLocalizedName())); rowInfo.ColumnInfo.Add(new ObjectPicker.TextColumn(current.Subject.GetSubjectString())); tabInfo.RowInfo.Add(rowInfo); } list2.Add(tabInfo); list.Add(new ObjectPicker.HeaderInfo("HeaderString1", "HeaderTooltip1", 250)); list.Add(new ObjectPicker.HeaderInfo("HeaderString2", "HeaderTooltip2", 250)); List <ObjectPicker.RowInfo> list4 = ObjectPickerDialog.Show(true, ModalDialog.PauseMode.PauseSimulator, "DialogTitle", "Okay", "Cancel", list2, list, numSelectableRows); ScientificSample result = null; if (list4 != null && list4.Count > 0) { result = (ScientificSample)list4[0].Item; } return(result); }
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); }
public override void PopulatePieMenuPicker(ref InteractionInstanceParameters parameters, out List <ObjectPicker.TabInfo> listObjs, out List <ObjectPicker.HeaderInfo> headers, out int NumSelectableRows) { List <ObjectPicker.ColumnInfo> colInfo; NumSelectableRows = 1; headers = new List <ObjectPicker.HeaderInfo>(); listObjs = new List <ObjectPicker.TabInfo>(); headers.Add(new ObjectPicker.HeaderInfo("Ui/Caption/ObjectPicker:Fertilizer", "Ui/Caption/ObjectPicker:FertilizerTooltip")); List <GameObject> objList = new List <GameObject>(parameters.Target.LotCurrent.GetObjects <GameObject>()); List <ObjectPicker.RowInfo> rowInfo = new List <ObjectPicker.RowInfo>(); ObjectPicker.RowInfo item = null; if ((objList == null) || (objList.Count <= 0)) { colInfo = new List <ObjectPicker.ColumnInfo>(); colInfo.Add(new ObjectPicker.ThumbAndTextColumn("", "No Objects! WTF?!")); item = new ObjectPicker.RowInfo(null, colInfo); rowInfo.Add(item); } Dictionary <string, GameObject> dictionary = new Dictionary <string, GameObject>(); foreach (GameObject objInst in objList) { string key = objInst.CatalogName; if (!dictionary.ContainsKey(key)) { dictionary[key] = objInst; } } foreach (KeyValuePair <string, GameObject> keyPair in dictionary) { GameObject obj3 = keyPair.Value; colInfo = new List <ObjectPicker.ColumnInfo>(); ThumbnailKey objTNK; string objName; if (obj3 is Sim) { objTNK = (obj3 as Sim).SimDescription.GetThumbnailKey(ThumbnailSize.Medium, 0); objName = (obj3 as Sim).SimDescription.FullName; } else { objTNK = obj3.GetThumbnailKey(); objName = obj3.GetLocalizedName(); } colInfo.Add(new ObjectPicker.ThumbAndTextColumn(objTNK, objName)); item = new ObjectPicker.RowInfo(obj3, colInfo); rowInfo.Add(item); } ObjectPicker.TabInfo info2 = new ObjectPicker.TabInfo("Coupon", "Objects on Lot", rowInfo); listObjs.Add(info2); }
public override void PopulatePieMenuPicker(ref InteractionInstanceParameters parameters, out List <ObjectPicker.TabInfo> listObjs, out List <ObjectPicker.HeaderInfo> headers, out int NumSelectableRows) { NumSelectableRows = 0x1; headers = new List <ObjectPicker.HeaderInfo>(); listObjs = new List <ObjectPicker.TabInfo>(); headers.Add(new ObjectPicker.HeaderInfo("Ui/Caption/ObjectPicker:Title", "Ui/Tooltip/ObjectPicker:Name", 0xfa)); Sim actor = parameters.Actor as Sim; List <ObjectPicker.RowInfo> rowInfo = new List <ObjectPicker.RowInfo>(); GreyedOutTooltipCallback greyedOutTooltipCallback = null; foreach (Book book in TabletEx.GetBooksInTown(parameters.Actor as Sim, false, true, parameters.Autonomous)) //foreach (Book book in Tablet.GetBooksOnMyLot(parameters.Actor as Sim, false, true)) { // Custom ReadBookData bookData; if (actor.ReadBookDataList.TryGetValue(book.Data.ID, out bookData)) { if (bookData.TimesRead > 0) { continue; } } if (!(book is SheetMusic) && book.TestReadBook(parameters.Actor as Sim, parameters.Autonomous, ref greyedOutTooltipCallback)) { List <ObjectPicker.ColumnInfo> columnInfo = new List <ObjectPicker.ColumnInfo>(); ResourceKey objectDescKey = new ResourceKey((ulong)ResourceUtils.XorFoldHashString32("book_standard"), 0x1661233, 0x1); ThumbnailKey thumbnail = new ThumbnailKey(objectDescKey, ThumbnailSize.Medium, ResourceUtils.HashString32(book.Data.GeometryState), ResourceUtils.HashString32(book.Data.MaterialState)); MedicalJournalData data = book.Data as MedicalJournalData; if (data != null) { columnInfo.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, data.GetTitle((book as MedicalJournal).mOwner, data.CurrentEdition))); } else { columnInfo.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, book.Data.Title)); } ObjectPicker.RowInfo info = new ObjectPicker.RowInfo(book, columnInfo); rowInfo.Add(info); } } ObjectPicker.TabInfo item = new ObjectPicker.TabInfo("Coupon", Localization.LocalizeString("Ui/Caption/ObjectPicker:Books", new object[0x0]), rowInfo); listObjs.Add(item); }
public override void PopulatePieMenuPicker(ref InteractionInstanceParameters parameters, out List <ObjectPicker.TabInfo> listObjs, out List <ObjectPicker.HeaderInfo> headers, out int NumSelectableRows) { NumSelectableRows = 0x1; headers = null; listObjs = null; try { IGameObject target = parameters.Target; headers = new List <ObjectPicker.HeaderInfo>(); listObjs = new List <ObjectPicker.TabInfo>(); headers.Add(new ObjectPicker.HeaderInfo("Ui/Caption/ObjectPicker:Title", "Ui/Tooltip/ObjectPicker:Name", 0xfa)); List <ObjectPicker.RowInfo> rowInfo = new List <ObjectPicker.RowInfo>(); foreach (BookToddler book in Inventories.QuickDuoFind <BookToddler, Book>(parameters.Target.Inventory)) { if (ReadBookData.HasSimFinishedBook(Toddler, book.Data.ID)) { continue; } List <ObjectPicker.ColumnInfo> columnInfo = new List <ObjectPicker.ColumnInfo>(); ThumbnailKey thumbnail = new ThumbnailKey(new ResourceKey((ulong)ResourceUtils.XorFoldHashString32("book_standard"), 0x1661233, 0x1), ThumbnailSize.Medium, ResourceUtils.HashString32(book.Data.GeometryState), ResourceUtils.HashString32(book.Data.MaterialState)); columnInfo.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, book.Data.Title)); ObjectPicker.RowInfo info = new ObjectPicker.RowInfo(book, columnInfo); rowInfo.Add(info); } // Custom code if (rowInfo.Count == 0) { listObjs = null; } else { ObjectPicker.TabInfo item = new ObjectPicker.TabInfo("Coupon", Common.LocalizeEAString("Ui/Caption/ObjectPicker:ToddlerBooks"), rowInfo); listObjs.Add(item); } } catch (Exception e) { Common.Exception(parameters.Actor, parameters.Target, e); } }
public static void PopulateAudioPrograms(Sim actor, ref InteractionInstanceParameters parameters, out List <ObjectPicker.TabInfo> listObjs, out List <ObjectPicker.HeaderInfo> headers, out int NumSelectableRows) { NumSelectableRows = 0x1; headers = new List <ObjectPicker.HeaderInfo>(); listObjs = new List <ObjectPicker.TabInfo>(); headers.Add(new ObjectPicker.HeaderInfo(Tablet.sLocalizationKeyAudio + ":Title", "Ui/Tooltip/ObjectPicker:Name", 0xfa)); List <ObjectPicker.RowInfo> rowInfo = new List <ObjectPicker.RowInfo>(); SkillNames[] collection = new SkillNames[] { SkillNames.Charisma, SkillNames.Cooking, SkillNames.Gardening, SkillNames.Guitar, SkillNames.Handiness, SkillNames.Nectar }; List <SkillNames> list2 = new List <SkillNames>(collection); foreach (Skill staticSkill in SkillManager.SkillDictionary) { if (staticSkill.IsHiddenSkill(actor.SimDescription.GetCASAGSAvailabilityFlags())) { continue; } // Don't include my custom skills as they increase points differently if (staticSkill.GetType().Assembly.FullName.Contains("NRaas")) { continue; } Skill element = actor.SkillManager.GetElement(staticSkill.Guid); if ((element == null) || !element.ReachedMaxLevel()) { string title = staticSkill.Name; if (Localization.HasLocalizationString(Tablet.sLocalizationKeyAudio + ":" + staticSkill.Guid)) { title = Localization.LocalizeString(Tablet.sLocalizationKeyAudio + ":" + staticSkill.Guid, new object[0]); } List <ObjectPicker.ColumnInfo> columnInfo = new List <ObjectPicker.ColumnInfo>(); ThumbnailKey thumbnail = new ThumbnailKey(staticSkill.IconKey, ThumbnailSize.Medium); columnInfo.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, title)); ObjectPicker.RowInfo info = new ObjectPicker.RowInfo(staticSkill.Guid, columnInfo); rowInfo.Add(info); } } ObjectPicker.TabInfo item = new ObjectPicker.TabInfo("Coupon", Tablet.LocalizeAudioProgram("TabName", new object[0x0]), rowInfo); listObjs.Add(item); }
/// <summary> /// /// </summary> /// <param name="interactionName"></param> /// <returns></returns> public static Shift ReturnShift(Sim sim, OFBOven oven, int NumSelectableRows) { string buttonFalse = Localization.LocalizeString("Ui/Caption/ObjectPicker:Cancel", new object[0]); List <ObjectPicker.HeaderInfo> headers = new List <ObjectPicker.HeaderInfo>(); List <ObjectPicker.TabInfo> listObjs = new List <ObjectPicker.TabInfo>(); headers.Add(new ObjectPicker.HeaderInfo("", "", 500)); List <ObjectPicker.RowInfo> list = new List <ObjectPicker.RowInfo>(); foreach (Shift shift in oven.info.Shifts) { List <ObjectPicker.ColumnInfo> list2 = new List <ObjectPicker.ColumnInfo>(); ThumbnailKey key = new ThumbnailKey(); SimDescription simDescription = SimDescription.Find(shift.Cheff.DescriptionId); if (simDescription != null) { key = simDescription.GetThumbnailKey(ThumbnailSize.Large, 0); } list2.Add(new ObjectPicker.ThumbAndTextColumn(key, shift.StarWork + ":00 - " + shift.EndWork + ":00")); ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(shift, 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> objects = ObjectPickerDialog.Show("Shifts", "Select", "Cancel", listObjs, headers, NumSelectableRows); if (objects != null && objects.Count > 0) { return((Shift)objects[0].Item); } return(null); }
public static void PopulatePieMenuPickerWithOutfits(CustomPedestal pedestal, Sim actor, out List <ObjectPicker.TabInfo> listObjs, out List <ObjectPicker.HeaderInfo> headers, out int NumSelectableRows, OutfitUtils.GreyedOutOutfitCallback greyed) { if (pedestal == null) { CMShopping.PrintMessage("Pedestal null"); } NumSelectableRows = 1; headers = new List <ObjectPicker.HeaderInfo>(); listObjs = new List <ObjectPicker.TabInfo>(); headers.Add(new ObjectPicker.HeaderInfo("Ui/Caption/ObjectPicker:Outfit", "Ui/Tooltip/ObjectPicker:Outfit")); headers[0].Width = 250; if (actor != null) { SimDescription simDescription = actor.SimDescription; ResourceKey resourceKey = CASUtils.GetOutfitInGameObject(actor.ObjectId); if (simDescription.HasSupernaturalOutfit(resourceKey) && simDescription.CreatedSim != null) { OutfitCategories currentOutfitCategory = simDescription.CreatedSim.CurrentOutfitCategory; int currentOutfitIndex = simDescription.CreatedSim.CurrentOutfitIndex; SimOutfit outfit = simDescription.GetOutfit(currentOutfitCategory, currentOutfitIndex); if (outfit != null && outfit.Key != ResourceKey.kInvalidResourceKey) { resourceKey = outfit.Key; } } ObjectPicker.TabInfo tabInfo = new ObjectPicker.TabInfo("glb_all_r2", Localization.LocalizeString("Ui/Caption/ObjectPicker:All", new object[0]), new List <ObjectPicker.RowInfo>()); string text = Localization.LocalizeString("Ui/Caption/ObjectPicker:Everyday", new object[0]); string text2 = Localization.LocalizeString("Ui/Caption/ObjectPicker:Formalwear", new object[0]); string text3 = Localization.LocalizeString("Ui/Caption/ObjectPicker:Sleepwear", new object[0]); string text4 = null; string text5 = null; string text6 = null; string text7 = null; string text8 = null; string text9 = null; string text10 = null; ObjectPicker.TabInfo tabInfo2 = new ObjectPicker.TabInfo(actor.IsHorse ? "cas_acc_riding" : "shopping_clothing_everyday_r2", text, new List <ObjectPicker.RowInfo>()); ObjectPicker.TabInfo tabInfo3 = new ObjectPicker.TabInfo("shopping_clothing_formal_r2", text2, new List <ObjectPicker.RowInfo>()); ObjectPicker.TabInfo tabInfo4 = new ObjectPicker.TabInfo("shopping_clothing_sleepwear_r2", text3, new List <ObjectPicker.RowInfo>()); ObjectPicker.TabInfo tabInfo5 = null; ObjectPicker.TabInfo tabInfo6 = null; ObjectPicker.TabInfo tabInfo7 = null; ObjectPicker.TabInfo tabInfo8 = null; ObjectPicker.TabInfo tabInfo9 = null; ObjectPicker.TabInfo tabInfo10 = null; ObjectPicker.TabInfo tabInfo11 = null; ObjectPicker.TabInfo tabInfo12 = null; if (simDescription.ToddlerOrAbove) { if (!simDescription.Toddler) { text4 = Localization.LocalizeString("Ui/Caption/ObjectPicker:Swimwear", new object[0]); text5 = Localization.LocalizeString("Ui/Caption/ObjectPicker:Athletic", new object[0]); tabInfo5 = new ObjectPicker.TabInfo("shopping_clothing_swimwear_r2", text4, new List <ObjectPicker.RowInfo>()); tabInfo6 = new ObjectPicker.TabInfo("shopping_clothing_athletic_r2", text5, new List <ObjectPicker.RowInfo>()); } if (GameUtils.IsInstalled(ProductVersion.EP8)) { text10 = Localization.LocalizeString("Ui/Caption/ObjectPicker:Outerwear", new object[0]); tabInfo12 = new ObjectPicker.TabInfo("cas_clothing_i_outerwear", text10, new List <ObjectPicker.RowInfo>()); } } if (simDescription.IsHorse) { text7 = Localization.LocalizeString("Ui/Caption/ObjectPicker:Racing", new object[0]); tabInfo9 = new ObjectPicker.TabInfo("cas_acc_racing", text7, new List <ObjectPicker.RowInfo>()); text8 = Localization.LocalizeString("Ui/Caption/ObjectPicker:Jumping", new object[0]); tabInfo10 = new ObjectPicker.TabInfo("cas_acc_jumping", text8, new List <ObjectPicker.RowInfo>()); text9 = Localization.LocalizeString("Ui/Caption/ObjectPicker:BridleOnly", new object[0]); tabInfo11 = new ObjectPicker.TabInfo("cas_acc_horse_bridles", text9, new List <ObjectPicker.RowInfo>()); } SkillManager skillManager = actor.SkillManager; if (skillManager != null && skillManager.HasElement(SkillNames.MartialArts) && !simDescription.IsVisuallyPregnant) { headers[0].Width += 50; text6 = Localization.LocalizeString("Ui/Caption/ObjectPicker:MartialArts", new object[0]); tabInfo7 = new ObjectPicker.TabInfo("w_simple_martialarts_skill_s", text6, new List <ObjectPicker.RowInfo>()); } if (actor.Occupation != null) { SimOutfit outfit2 = simDescription.GetOutfit(OutfitCategories.Career, 0); if (outfit2 != null) { headers[0].Width += 50; string tabText = Localization.LocalizeString("Ui/Caption/ObjectPicker:Miscellaneous", new object[0]); tabInfo8 = new ObjectPicker.TabInfo("glb_i_options32", tabText, new List <ObjectPicker.RowInfo>()); } } string textLabel = Localization.LocalizeString("Ui/Caption/ObjectPicker:Career", new object[0]); if (!actor.IsFoal) { OutfitPicker.PopulatePieMenuPickerWithCategoryOutfits(pedestal, simDescription, resourceKey, tabInfo, OutfitCategories.Everyday, text, tabInfo2, greyed); } OutfitPicker.PopulatePieMenuPickerWithCategoryOutfits(pedestal, simDescription, resourceKey, tabInfo, OutfitCategories.Formalwear, text2, tabInfo3, greyed); OutfitPicker.PopulatePieMenuPickerWithCategoryOutfits(pedestal, simDescription, resourceKey, tabInfo, OutfitCategories.Sleepwear, text3, tabInfo4, greyed); OutfitPicker.PopulatePieMenuPickerWithCategoryOutfits(pedestal, simDescription, resourceKey, tabInfo, OutfitCategories.Swimwear, text4, tabInfo5, greyed); OutfitPicker.PopulatePieMenuPickerWithCategoryOutfits(pedestal, simDescription, resourceKey, tabInfo, OutfitCategories.Athletic, text5, tabInfo6, greyed); if (tabInfo12 != null) { OutfitPicker.PopulatePieMenuPickerWithCategoryOutfits(pedestal, simDescription, resourceKey, tabInfo, OutfitCategories.Outerwear, text10, tabInfo12, greyed); } OutfitPicker.PopulatePieMenuPickerWithCategoryOutfits(pedestal, simDescription, resourceKey, tabInfo, OutfitCategories.MartialArts, text6, tabInfo7, greyed); OutfitPicker.PopulatePieMenuPickerWithCategoryOutfits(pedestal, simDescription, resourceKey, tabInfo, OutfitCategories.Career, textLabel, tabInfo8, greyed); OutfitPicker.PopulatePieMenuPickerWithCategoryOutfits(pedestal, simDescription, resourceKey, tabInfo, OutfitCategories.Bridle, text9, tabInfo11, greyed); Racing racing = skillManager.GetElement(SkillNames.Racing) as Racing; if (racing != null && racing.HasRacingSaddleOutfit) { OutfitPicker.PopulatePieMenuPickerWithCategoryOutfits(pedestal, simDescription, resourceKey, tabInfo, OutfitCategories.Racing, text7, tabInfo9, greyed); } Jumping jumping = skillManager.GetElement(SkillNames.Jumping) as Jumping; if (jumping != null && jumping.HasJumpOutfit) { OutfitPicker.PopulatePieMenuPickerWithCategoryOutfits(pedestal, simDescription, resourceKey, tabInfo, OutfitCategories.Jumping, text8, tabInfo10, greyed); } listObjs.Add(tabInfo); if (tabInfo2.RowInfo.Count > 0) { listObjs.Add(tabInfo2); } if (tabInfo3.RowInfo.Count > 0) { listObjs.Add(tabInfo3); } if (tabInfo4.RowInfo.Count > 0) { listObjs.Add(tabInfo4); } if (tabInfo5 != null && tabInfo5.RowInfo.Count > 0) { listObjs.Add(tabInfo5); } if (tabInfo6 != null && tabInfo6.RowInfo.Count > 0) { listObjs.Add(tabInfo6); } if (tabInfo12 != null && tabInfo12.RowInfo.Count > 0) { listObjs.Add(tabInfo12); } if (tabInfo7 != null && tabInfo7.RowInfo.Count > 0) { listObjs.Add(tabInfo7); } if (tabInfo11 != null && tabInfo11.RowInfo.Count > 0) { listObjs.Add(tabInfo11); } if (tabInfo9 != null && tabInfo9.RowInfo.Count > 0) { listObjs.Add(tabInfo9); } if (tabInfo10 != null && tabInfo10.RowInfo.Count > 0) { listObjs.Add(tabInfo10); } if (tabInfo8 != null && tabInfo8.RowInfo.Count > 0) { listObjs.Add(tabInfo8); } } }
// Sims3.Gameplay.CAS.OutfitUtils public static void PopulatePieMenuPickerWithCategoryOutfits(CustomPedestal pedestal, SimDescription simDesc, ResourceKey currentOutfitKey, ObjectPicker.TabInfo allTab, OutfitCategories category, string textLabel, ObjectPicker.TabInfo tab, OutfitUtils.GreyedOutOutfitCallback greyed) { if (tab == null) { return; } int num = 1; simDesc = new SimDescription(); if (simDesc == null) { throw new Exception("ChangeOutfit: sim doesn't have a description!"); } //CMShopping.PrintMessage(Target.DisplayCategory.ToString()); pedestal.PedestalOutfitsSaveTo(simDesc); if (pedestal.DisplayCategory == category) { foreach (SimOutfit simOutfit in simDesc.GetOutfits(category)) { if (simOutfit.Key != currentOutfitKey) { ObjectPicker.RowInfo rowInfo = new ObjectPicker.RowInfo(simOutfit.Key, new List <ObjectPicker.ColumnInfo>()); ThumbnailKey thumbnail = new ThumbnailKey(simOutfit, -4, ThumbnailSize.Medium, simDesc.IsHorse ? ThumbnailCamera.Side : ThumbnailCamera.Body, (uint)simDesc.AgeGenderSpecies); rowInfo.ColumnInfo.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, textLabel + " " + num)); allTab.RowInfo.Add(rowInfo); tab.RowInfo.Add(rowInfo); } num++; } } //OutfitCategoryMap pedestalOutfits = pedestal.GetPedestalOutfits(pedestal.mDisplayType); //foreach (OutfitCategories outfitCategories in pedestalOutfits.Keys) //{ // ArrayList arrayList = pedestalOutfits[category] as ArrayList; // CMShopping.PrintMessage("arraylist: " + arrayList.Count); // for (int i = 0; i < arrayList.Count; i++) // { // CMShopping.PrintMessage(category + " " + i); // SimOutfit simOutfit = (SimOutfit)arrayList[i]; // ObjectPicker.RowInfo rowInfo = new ObjectPicker.RowInfo(simOutfit.Key, new List<ObjectPicker.ColumnInfo>()); // ThumbnailKey thumbnail = new ThumbnailKey(simOutfit, -4, ThumbnailSize.Medium, simDesc.IsHorse ? ThumbnailCamera.Side : ThumbnailCamera.Body, (uint)simDesc.AgeGenderSpecies); // rowInfo.ColumnInfo.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, textLabel + " " + num)); // allTab.RowInfo.Add(rowInfo); // tab.RowInfo.Add(rowInfo); // //simDesc.AddOutfit((SimOutfit)arrayList[i], outfitCategories); // } //} //foreach (SimOutfit simOutfit in simDesc.GetOutfits(category)) //{ // if (simOutfit.Key != currentOutfitKey) // { // ObjectPicker.RowInfo rowInfo = new ObjectPicker.RowInfo(simOutfit.Key, new List<ObjectPicker.ColumnInfo>()); // ThumbnailKey thumbnail = new ThumbnailKey(simOutfit, -4, ThumbnailSize.Medium, simDesc.IsHorse ? ThumbnailCamera.Side : ThumbnailCamera.Body, (uint)simDesc.AgeGenderSpecies); // rowInfo.ColumnInfo.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, textLabel + " " + num)); // allTab.RowInfo.Add(rowInfo); // tab.RowInfo.Add(rowInfo); // } // num++; //} }
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; }
public static void PopulateAudioPrograms(Sim actor, ref InteractionInstanceParameters parameters, out List<ObjectPicker.TabInfo> listObjs, out List<ObjectPicker.HeaderInfo> headers, out int NumSelectableRows) { NumSelectableRows = 0x1; headers = new List<ObjectPicker.HeaderInfo>(); listObjs = new List<ObjectPicker.TabInfo>(); headers.Add(new ObjectPicker.HeaderInfo(Tablet.sLocalizationKeyAudio + ":Title", "Ui/Tooltip/ObjectPicker:Name", 0xfa)); List<ObjectPicker.RowInfo> rowInfo = new List<ObjectPicker.RowInfo>(); SkillNames[] collection = new SkillNames[] { SkillNames.Charisma, SkillNames.Cooking, SkillNames.Gardening, SkillNames.Guitar, SkillNames.Handiness, SkillNames.Nectar }; List<SkillNames> list2 = new List<SkillNames>(collection); foreach (Skill staticSkill in SkillManager.SkillDictionary) { if (staticSkill.IsHiddenSkill(actor.SimDescription.GetCASAGSAvailabilityFlags())) continue; // Don't include my custom skills as they increase points differently if (staticSkill.GetType().Assembly.FullName.Contains("NRaas")) continue; Skill element = actor.SkillManager.GetElement(staticSkill.Guid); if ((element == null) || !element.ReachedMaxLevel()) { string title = staticSkill.Name; if (Localization.HasLocalizationString(Tablet.sLocalizationKeyAudio + ":" + staticSkill.Guid)) { title = Localization.LocalizeString(Tablet.sLocalizationKeyAudio + ":" + staticSkill.Guid, new object[0]); } List<ObjectPicker.ColumnInfo> columnInfo = new List<ObjectPicker.ColumnInfo>(); ThumbnailKey thumbnail = new ThumbnailKey(staticSkill.IconKey, ThumbnailSize.Medium); columnInfo.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, title)); ObjectPicker.RowInfo info = new ObjectPicker.RowInfo(staticSkill.Guid, columnInfo); rowInfo.Add(info); } } ObjectPicker.TabInfo item = new ObjectPicker.TabInfo("Coupon", Tablet.LocalizeAudioProgram("TabName", new object[0x0]), rowInfo); listObjs.Add(item); }
public override void PopulatePieMenuPicker(ref InteractionInstanceParameters parameters, out List<ObjectPicker.TabInfo> listObjs, out List<ObjectPicker.HeaderInfo> headers, out int NumSelectableRows) { NumSelectableRows = 0x1; headers = null; listObjs = null; try { IGameObject target = parameters.Target; headers = new List<ObjectPicker.HeaderInfo>(); listObjs = new List<ObjectPicker.TabInfo>(); headers.Add(new ObjectPicker.HeaderInfo("Ui/Caption/ObjectPicker:Title", "Ui/Tooltip/ObjectPicker:Name", 0xfa)); List<ObjectPicker.RowInfo> rowInfo = new List<ObjectPicker.RowInfo>(); foreach (BookToddler book in Inventories.QuickDuoFind<BookToddler,Book>(parameters.Target.Inventory)) { if (ReadBookData.HasSimFinishedBook(Toddler, book.Data.ID)) continue; List<ObjectPicker.ColumnInfo> columnInfo = new List<ObjectPicker.ColumnInfo>(); ThumbnailKey thumbnail = new ThumbnailKey(new ResourceKey((ulong)ResourceUtils.XorFoldHashString32("book_standard"), 0x1661233, 0x1), ThumbnailSize.Medium, ResourceUtils.HashString32(book.Data.GeometryState), ResourceUtils.HashString32(book.Data.MaterialState)); columnInfo.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, book.Data.Title)); ObjectPicker.RowInfo info = new ObjectPicker.RowInfo(book, columnInfo); rowInfo.Add(info); } // Custom code if (rowInfo.Count == 0) { listObjs = null; } else { ObjectPicker.TabInfo item = new ObjectPicker.TabInfo("Coupon", Common.LocalizeEAString("Ui/Caption/ObjectPicker:ToddlerBooks"), rowInfo); listObjs.Add(item); } } catch (Exception e) { Common.Exception(parameters.Actor, parameters.Target, e); } }