Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public void ChangeName()
        {
            List <ObjectPicker.HeaderInfo> headers = new List <ObjectPicker.HeaderInfo>();

            headers.Add(new ObjectPicker.HeaderInfo("NRaasUnemployed:OptionColumn", "NRaasUnemployed:OptionColumnTooltip", 230));

            List <ObjectPicker.RowInfo> rowInfo = new List <ObjectPicker.RowInfo>();

            foreach (Pair <string, string> name in GetLocalizedTitles(OwnerDescription.IsFemale))
            {
                ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(name.Second, new List <ObjectPicker.ColumnInfo>());

                item.ColumnInfo.Add(new ObjectPicker.TextColumn(name.First));

                rowInfo.Add(item);
            }

            List <ObjectPicker.TabInfo> tabInfo = new List <ObjectPicker.TabInfo>();

            tabInfo.Add(new ObjectPicker.TabInfo("shop_all_r2", Common.LocalizeEAString("Ui/Caption/ObjectPicker:All"), rowInfo));

            string buttonTrue  = Common.LocalizeEAString("NRaasUnemployed:Ok");
            string buttonFalse = Common.LocalizeEAString("Ui/Caption/ObjectPicker:Cancel");

            List <ObjectPicker.RowInfo> list = ObjectPickerDialog.Show(true, ModalDialog.PauseMode.PauseSimulator, Common.LocalizeEAString("NRaasUnemployed:Title"), buttonTrue, buttonFalse, tabInfo, headers, 1, new Vector2(-1f, -1f), true);

            List <string> selection = new List <string>();

            if ((list == null) || (list.Count == 0))
            {
                return;
            }

            UpdateName(list[0].Item as string);
        }
Exemplo n.º 3
0
        private void OnGridDoubleClicked(TableContainer sender, TableRow row)
        {
            bool flag = false;

            if (sender.ID == 99576784u)
            {
                DualPanelHouseholds.DualPaneSimPickerRowController dualPaneSimPickerRowController = row.RowController as DualPanelHouseholds.DualPaneSimPickerRowController;
                ObjectPicker.RowInfo info = dualPaneSimPickerRowController.Info;
                this.mSelectedSims.Remove(info);
                flag = true;
            }
            else
            {
                DualPanelHouseholds.DualPaneSimPickerRowController dualPaneSimPickerRowController2 = row.RowController as DualPanelHouseholds.DualPaneSimPickerRowController;
                if (dualPaneSimPickerRowController2.Enabled)
                {
                    ObjectPicker.RowInfo info2 = dualPaneSimPickerRowController2.Info;
                    this.mSelectedSims.Add(info2);
                    flag = true;
                }
            }
            if (flag)
            {
                Audio.StartSound("ui_panel_shift");
                this.mLeftArrow.Enabled  = false;
                this.mRightArrow.Enabled = false;
                this.RepopulateSourceTable();
                this.RepopulateSelectedSimTable();
            }
        }
Exemplo n.º 4
0
        public static List <ObjectPicker.RowInfo> ReturnRecipeholdsAsRowInfo(List <Recipe> recipes, List <Sims3.Store.Objects.IndustrialOven.MenuRecipeInfo> selectedRecipes)
        {
            List <ObjectPicker.RowInfo> list = new List <ObjectPicker.RowInfo>();

            if (selectedRecipes != null)
            {
                recipes = new List <Recipe>();
                foreach (IndustrialOven.MenuRecipeInfo o in selectedRecipes)
                {
                    Recipe r = o.FindRecipe();
                    if (r != null)
                    {
                        recipes.Add(r);
                    }
                }
            }

            if (recipes != null)
            {
                foreach (Recipe r in recipes)
                {
                    {
                        List <ObjectPicker.ColumnInfo> list4 = new List <ObjectPicker.ColumnInfo>();
                        list4.Add(new ObjectPicker.ThumbAndTextColumn(r.GetThumbnailKey(), r.GenericName));
                        list4.Add(new ObjectPicker.MoneyColumn(0));
                        ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(r, list4);
                        list.Add(item);
                    }
                }
            }

            return(list);
        }
Exemplo n.º 5
0
        private SimDescription ShowObjectSelectionDialog(GameObject sim)
        {
            List <ObjectPicker.HeaderInfo> headers = new List <ObjectPicker.HeaderInfo>();

            headers.Add(new ObjectPicker.HeaderInfo("Object", null, 400));


            List <ObjectPicker.RowInfo> tableData = new List <ObjectPicker.RowInfo>();

            int roomId = sim.RoomId;
            List <SimDescription> residents = Household.AllSimsLivingInWorld();
            List <SimDescription> townies   = Household.AllTownieSimDescriptions();

            List <SimDescription> simdescriptions = new List <SimDescription>();

            foreach (SimDescription townie in residents)
            {
                if (townie.IsHuman && !townie.ChildOrBelow && !simdescriptions.Contains(townie))
                {
                    simdescriptions.Add(townie);
                }
            }

            foreach (SimDescription gameObject in simdescriptions)
            {
                ObjectPicker.RowInfo rowInfo = new ObjectPicker.RowInfo(gameObject, new List <ObjectPicker.ColumnInfo>());
                ThumbnailKey         thumbnail;
                if (gameObject.CreatedSim != null)
                {
                    thumbnail = gameObject.CreatedSim.GetThumbnailKey();
                }
                else
                {
                    thumbnail = gameObject.GetEverydayThumbnail(ThumbnailSize.Medium);
                }
                rowInfo.ColumnInfo.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, gameObject.FullName));
                tableData.Add(rowInfo);
            }

            List <ObjectPicker.TabInfo> list3 = new List <ObjectPicker.TabInfo>();

            list3.Add(new ObjectPicker.TabInfo("shop_all_r2", "Hire A Sim", tableData));
            string buttonOk     = Localization.LocalizeString("Ui/Caption/Global:Ok", new object[0]);
            string buttonCancel = Localization.LocalizeString("Ui/Caption/Global:Cancel", new object[0]);
            List <ObjectPicker.RowInfo> userSelection = BigObjectPickerDialog.Show(true, ModalDialog.PauseMode.PauseSimulator,
                                                                                   "Select A Sim to Hire", buttonOk, buttonCancel, list3, headers, 1);

            if (userSelection == null || userSelection.Count < 1)
            {
                return(null);
            }
            return(userSelection[0].Item as SimDescription);
        }
Exemplo n.º 6
0
        protected static void ChooseSchool(Sim sim)
        {
            List<ObjectPicker.HeaderInfo> headers = new List<ObjectPicker.HeaderInfo>();
            headers.Add(new ObjectPicker.HeaderInfo("NRaasSchooling:OptionColumn", "NRaasSchooling:OptionColumnTooltip", 230));

            List<ObjectPicker.RowInfo> rowInfo = new List<ObjectPicker.RowInfo>();
            foreach (Career career in CareerManager.CareerList)
            {
                if (career is SchoolElementary)
                {
                    if (!sim.SimDescription.Child) continue;
                }
                else if (career is SchoolHigh)
                {
                    if (!sim.SimDescription.Teen) continue;
                }
                else if (career is School)
                {
                    if ((!sim.SimDescription.Child) && (!sim.SimDescription.Teen)) continue;
                }
                else
                {
                    continue;
                }

                GreyedOutTooltipCallback greyedOutTooltipCallback = null;
                if (!career.CanAcceptCareer(sim.ObjectId, ref greyedOutTooltipCallback)) continue;

                CareerLocation location = Career.FindClosestCareerLocation(sim, career.Guid);
                if (location == null) continue;

                ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(location, new List<ObjectPicker.ColumnInfo>());

                item.ColumnInfo.Add(new ObjectPicker.TextColumn(career.Name));

                rowInfo.Add(item);
            }

            List<ObjectPicker.TabInfo> tabInfo = new List<ObjectPicker.TabInfo>();
            tabInfo.Add(new ObjectPicker.TabInfo("shop_all_r2", Common.LocalizeEAString("Ui/Caption/ObjectPicker:All"), rowInfo));

            string buttonTrue = Common.LocalizeEAString("Ui/Caption/Global:Accept");
            string buttonFalse = Common.LocalizeEAString("Ui/Caption/ObjectPicker:Cancel");

            List<ObjectPicker.RowInfo> list = ObjectPickerDialog.Show(true, ModalDialog.PauseMode.PauseSimulator, Common.LocalizeEAString("NRaasSchooling:Title"), buttonTrue, buttonFalse, tabInfo, headers, 1, new Vector2(-1f, -1f), true);

            if ((list == null) || (list.Count == 0)) return;

            CareerLocation sel = list[0].Item as CareerLocation;
            if (sel == null) return;

            SchoolBooter.Enroll(sim, null, sel);
        }
Exemplo n.º 7
0
            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);
            }
Exemplo n.º 8
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);
        }
Exemplo n.º 9
0
 private void listAllObjectsInRoom(Sim sim, List <ObjectPicker.RowInfo> tableData, int roomId)
 {
     GameObject[] gameObjectsInLot = sim.LotCurrent.GetObjects <GameObject>();
     foreach (GameObject gameObject in gameObjectsInLot)
     {
         if (gameObject.RoomId == roomId && !HasMoveInteraction(gameObject))
         {
             ObjectPicker.RowInfo rowInfo   = new ObjectPicker.RowInfo(gameObject, new List <ObjectPicker.ColumnInfo>());
             ThumbnailKey         thumbnail = gameObject.GetThumbnailKey();
             rowInfo.ColumnInfo.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, gameObject.GetLocalizedName()));
             tableData.Add(rowInfo);
         }
     }
 }
Exemplo n.º 10
0
        public static List <ObjectPicker.RowInfo> ReturnTaxCollectorsAsRowInfo(List <TaxCollector> collectors)
        {
            List <ObjectPicker.RowInfo> list = new List <ObjectPicker.RowInfo>();

            foreach (TaxCollector t in collectors)
            {
                List <ObjectPicker.ColumnInfo> list4 = new List <ObjectPicker.ColumnInfo>();
                list4.Add(new ObjectPicker.TextColumn(t.info.Name));
                // list4.Add(new ObjectPicker.MoneyColumn(0));
                ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(t, list4);
                list.Add(item);
            }

            return(list);
        }
Exemplo n.º 11
0
            public DualPaneSimPickerRowController(TableRow row, TableContainer table, ObjectPicker.RowInfo info)
            {
                this.mIsEnabled = true;
                this.mRow = row;
                this.mTable = table;
                this.mInfo = info;
                List<CellController> cellControllers = this.mRow.CellControllers;
                List<WindowBase> cellWindows = this.mRow.CellWindows;
                TableThumbAndTextController tableThumbAndTextController = new TableThumbAndTextController(cellWindows[0]);
                cellControllers.Add(tableThumbAndTextController);
                tableThumbAndTextController.ImageSize = 40f;

                tableThumbAndTextController.Entry = ((MinorPet)this.mInfo.Item).GetLocalizedName() ;
                tableThumbAndTextController.Thumbnail =  ((MinorPet)this.mInfo.Item).GetThumbnailKey();
            }
Exemplo n.º 12
0
            public DualPaneSimPickerRowController(TableRow row, TableContainer table, ObjectPicker.RowInfo info, float multiplyer)
            {
                this.mIsEnabled = true;
                this.mRow       = row;
                this.mTable     = table;
                this.mInfo      = info;
                List <CellController>       cellControllers             = this.mRow.CellControllers;
                List <WindowBase>           cellWindows                 = this.mRow.CellWindows;
                TableThumbAndTextController tableThumbAndTextController = new TableThumbAndTextController(cellWindows[0]);

                cellControllers.Add(tableThumbAndTextController);
                tableThumbAndTextController.ImageSize = 40f;

                tableThumbAndTextController.Entry     = ((Recipe)this.mInfo.Item).GenericName;
                tableThumbAndTextController.Thumbnail = ((Recipe)this.mInfo.Item).GetThumbnailKey();
            }
Exemplo n.º 13
0
            public DualPaneSimPickerRowController(TableRow row, TableContainer table, ObjectPicker.RowInfo info, float multiplyer)
            {
                this.mIsEnabled = true;
                this.mRow = row;
                this.mTable = table;
                this.mInfo = info;
                List<CellController> cellControllers = this.mRow.CellControllers;
                List<WindowBase> cellWindows = this.mRow.CellWindows;
                TableThumbAndTextController tableThumbAndTextController = new TableThumbAndTextController(cellWindows[0]);
                cellControllers.Add(tableThumbAndTextController);
                tableThumbAndTextController.ImageSize = 40f;

                tableThumbAndTextController.Entry = ((InventoryItem)this.mInfo.Item).Object.GetLocalizedName() + "   " +
                    ShoppingMethods.CalculatePrice(((InventoryItem)this.mInfo.Item).Object.Value, multiplyer) + " §";
                tableThumbAndTextController.Thumbnail = ((InventoryItem)this.mInfo.Item).Object.GetThumbnailKey();
            }
Exemplo n.º 14
0
            public DualPaneSimPickerRowController(TableRow row, TableContainer table, ObjectPicker.RowInfo info)
            {
                this.mIsEnabled = true;
                this.mRow       = row;
                this.mTable     = table;
                this.mInfo      = info;
                List <CellController>       cellControllers             = this.mRow.CellControllers;
                List <WindowBase>           cellWindows                 = this.mRow.CellWindows;
                TableThumbAndTextController tableThumbAndTextController = new TableThumbAndTextController(cellWindows[0]);

                cellControllers.Add(tableThumbAndTextController);
                tableThumbAndTextController.ImageSize = 40f;

                tableThumbAndTextController.Entry     = ((Household)this.mInfo.Item).Name;
                tableThumbAndTextController.Thumbnail = ((Household)this.mInfo.Item).Sims.ToArray()[0].GetThumbnailKey();
            }
Exemplo n.º 15
0
        public static List <ObjectPicker.RowInfo> ReturnMinorPetsAsRowInfo(List <MinorPet> pets)
        {
            List <ObjectPicker.RowInfo> list = new List <ObjectPicker.RowInfo>();

            foreach (MinorPet p in pets)
            {
                List <ObjectPicker.ColumnInfo> list4 = new List <ObjectPicker.ColumnInfo>();
                string text = p.Data.Name; //Localization.LocalizeString(p.Data.Name, new object[0]);
                list4.Add(new ObjectPicker.ThumbAndTextColumn(p.GetThumbnailKey(), text));
                list4.Add(new ObjectPicker.MoneyColumn(0));
                ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(p, list4);
                list.Add(item);
            }

            return(list);
        }
Exemplo n.º 16
0
        public static GameObject ReturnTaxCollector(TaxCollector active, List <GameObject> objects)
        {
            ThumbnailKey thumbnail           = ThumbnailKey.kInvalidThumbnailKey;
            string       text                = string.Empty;
            List <ObjectPicker.RowInfo> list = new List <ObjectPicker.RowInfo>();

            foreach (GameObject t in objects)
            {
                List <ObjectPicker.ColumnInfo> list2 = new List <ObjectPicker.ColumnInfo>();

                int num = 0;
                thumbnail = t.GetThumbnailKey();

                if (t.GetType() == typeof(TaxCollector))
                {
                    text = (t as TaxCollector).info.Name;
                    num  = (t as TaxCollector).info.Funds;
                }

                if (t.GetType() == typeof(DonationBox))
                {
                    text = (t as DonationBox).info.Name;
                    num  = (t as DonationBox).info.Funds;
                }

                //common
                list2.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, text));
                list2.Add(new ObjectPicker.MoneyColumn(num));
                ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(t, list2);
                list.Add(item);
            }


            List <ObjectPicker.HeaderInfo> list3 = new List <ObjectPicker.HeaderInfo>();
            List <ObjectPicker.TabInfo>    list4 = new List <ObjectPicker.TabInfo>();

            list3.Add(new ObjectPicker.HeaderInfo(string.Empty, string.Empty, 200));
            list3.Add(new ObjectPicker.HeaderInfo(CommonMethodsTaxCollector.LocalizeString("Funds", new object[0]), CommonMethodsTaxCollector.LocalizeString("Funds", new object[0])));
            list4.Add(new ObjectPicker.TabInfo("coupon", ShoppingRegister.LocalizeString("AvailableConcessionsFoods", new object[0]), list));
            List <ObjectPicker.RowInfo> list5 = TaxCollectorSimpleDialog.Show(CommonMethodsTaxCollector.LocalizeString("TransferToObject", new object[0]), 0, list4, list3, true);

            if (list5 == null || list5.Count != 1)
            {
                return(null);
            }
            return(list5[0].Item as GameObject);
        }
Exemplo n.º 17
0
            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);
            }
Exemplo n.º 18
0
            public DualPaneSimPickerRowController(TableRow row, TableContainer table, ObjectPicker.RowInfo info, float multiplyer)
            {
                this.mIsEnabled = true;
                this.mRow       = row;
                this.mTable     = table;
                this.mInfo      = info;
                List <CellController>       cellControllers             = this.mRow.CellControllers;
                List <WindowBase>           cellWindows                 = this.mRow.CellWindows;
                TableThumbAndTextController tableThumbAndTextController = new TableThumbAndTextController(cellWindows[0]);

                cellControllers.Add(tableThumbAndTextController);
                tableThumbAndTextController.ImageSize = 40f;

                tableThumbAndTextController.Entry = ((InventoryItem)this.mInfo.Item).Object.GetLocalizedName() + "   " +
                                                    ShoppingMethods.CalculatePrice(((InventoryItem)this.mInfo.Item).Object.Value, multiplyer) + " §";
                tableThumbAndTextController.Thumbnail = ((InventoryItem)this.mInfo.Item).Object.GetThumbnailKey();
            }
Exemplo n.º 19
0
        public static List <ObjectPicker.RowInfo> ReturnHouseholdsAsRowInfo(List <Household> households)
        {
            List <ObjectPicker.RowInfo> list = new List <ObjectPicker.RowInfo>();

            foreach (Household h in households)
            {
                if (h.InWorld && h.Sims != null && h.Sims.Count > 0)
                {
                    List <ObjectPicker.ColumnInfo> list4 = new List <ObjectPicker.ColumnInfo>();
                    list4.Add(new ObjectPicker.ThumbAndTextColumn(h.Sims.ToArray()[0].GetThumbnailKey(), h.Name));
                    list4.Add(new ObjectPicker.MoneyColumn(0));
                    ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(h, list4);
                    list.Add(item);
                }
            }

            return(list);
        }
Exemplo n.º 20
0
            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);
                }
            }
Exemplo n.º 21
0
        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);
        }
Exemplo n.º 22
0
            public override void PopulatePieMenuPicker(ref InteractionInstanceParameters parameters, out List <ObjectPicker.TabInfo> listObjs, out List <ObjectPicker.HeaderInfo> headers, out int NumSelectableRows)
            {
                NumSelectableRows = 1;
                headers           = new List <ObjectPicker.HeaderInfo>();
                listObjs          = new List <ObjectPicker.TabInfo>();
                headers.Add(new ObjectPicker.HeaderInfo("Ui/Caption/ObjectPicker:ObjectName", "Ui/Tooltip/ObjectPicker:Name", 250));
                headers.Add(new ObjectPicker.HeaderInfo(CommonMethods.LocalizeString("FamilyFunds", new object[0]), CommonMethods.LocalizeString("FamilyFnds", new object[0])));
                headers.Add(new ObjectPicker.HeaderInfo(CommonMethods.LocalizeString("IsActive", new object[0]), CommonMethods.LocalizeString("IsActive", new object[0])));

                List <ObjectPicker.RowInfo> rowInfo = new List <ObjectPicker.RowInfo>();
                Sim        actor = parameters.Actor as Sim;
                Controller c     = parameters.Target as Controller;

                if (actor != null && c != null)
                {
                    try
                    {
                        //Clean the families first
                        ApartmentController.CleanupFamily(c);

                        //Select one family member for the list
                        foreach (ApartmentFamily family in c.Families)
                        {
                            if (family.Residents != null && family.Residents.Count > 0 && !family.IsActive)
                            {
                                List <ObjectPicker.ColumnInfo> columnInfo = new List <ObjectPicker.ColumnInfo>();

                                columnInfo.Add(new ObjectPicker.TextColumn(family.FamilyName));
                                columnInfo.Add(new ObjectPicker.TextColumn(family.FamilyFunds.ToString()));
                                columnInfo.Add(new ObjectPicker.TextColumn(family.IsActive.ToString()));
                                ObjectPicker.RowInfo info = new ObjectPicker.RowInfo(family, columnInfo);
                                rowInfo.Add(info);
                            }
                        }

                        listObjs.Add(new ObjectPicker.TabInfo("all", "", rowInfo));
                    }
                    catch (System.Exception ex)
                    {
                        CommonMethods.PrintMessage(ex.Message);
                    }
                }
            }
Exemplo n.º 23
0
        public static List <ObjectPicker.RowInfo> ReturnInventoryItemAsRowInfo(List <InventoryItem> items)
        {
            List <ObjectPicker.RowInfo> list = new List <ObjectPicker.RowInfo>();

            foreach (InventoryItem i in items)
            {
                //Don't sell your cell, make a new mod for this ^_^
                if (i.GetType() != typeof(PhoneSmart))
                {
                    List <ObjectPicker.ColumnInfo> list4 = new List <ObjectPicker.ColumnInfo>();
                    string text = i.Object.GetLocalizedName(); //Localization.LocalizeString(p.Data.Name, new object[0]);
                    list4.Add(new ObjectPicker.ThumbAndTextColumn(i.Object.GetThumbnailKey(), text));
                    list4.Add(new ObjectPicker.MoneyColumn(0));
                    ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(i, list4);
                    list.Add(item);
                }
            }

            return(list);
        }
Exemplo n.º 24
0
 private void OnArrowClick(WindowBase sender, UIButtonClickEventArgs eventArgs)
 {
     if (sender.ID == 99576788u)
     {
         TableRow row = this.mSelectedTable.GetRow(this.mSelectedTable.SelectedItem);
         DualPanelHouseholds.DualPaneSimPickerRowController dualPaneSimPickerRowController = row.RowController as DualPanelHouseholds.DualPaneSimPickerRowController;
         ObjectPicker.RowInfo info = dualPaneSimPickerRowController.Info;
         this.mSelectedSims.Remove(info);
     }
     else
     {
         TableRow row2 = this.mSourceTable.GetRow(this.mSourceTable.SelectedItem);
         DualPanelHouseholds.DualPaneSimPickerRowController dualPaneSimPickerRowController2 = row2.RowController as DualPanelHouseholds.DualPaneSimPickerRowController;
         ObjectPicker.RowInfo info2 = dualPaneSimPickerRowController2.Info;
         this.mSelectedSims.Add(info2);
     }
     this.mLeftArrow.Enabled  = false;
     this.mRightArrow.Enabled = false;
     this.RepopulateSourceTable();
     this.RepopulateSelectedSimTable();
 }
Exemplo n.º 25
0
        /// <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);
        }
Exemplo n.º 26
0
        public static StoreSetRegister ReturnRegisterForLinking(StoreSetRegister[] objects)
        {
            ThumbnailKey thumbnail           = ThumbnailKey.kInvalidThumbnailKey;
            string       text                = string.Empty;
            List <ObjectPicker.RowInfo> list = new List <ObjectPicker.RowInfo>();

            foreach (StoreSetRegister t in objects)
            {
                List <ObjectPicker.ColumnInfo> list2 = new List <ObjectPicker.ColumnInfo>();

                int num = 0;
                thumbnail = t.GetThumbnailKey();

                text = t.Info.RegisterName;

                //common
                list2.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, text));
                list2.Add(new ObjectPicker.MoneyColumn(num));
                ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(t, list2);
                list.Add(item);
            }


            List <ObjectPicker.HeaderInfo> list3 = new List <ObjectPicker.HeaderInfo>();
            List <ObjectPicker.TabInfo>    list4 = new List <ObjectPicker.TabInfo>();

            list3.Add(new ObjectPicker.HeaderInfo(string.Empty, string.Empty, 200));
            list3.Add(new ObjectPicker.HeaderInfo("1", "2"));
            list4.Add(new ObjectPicker.TabInfo("3", CMStoreSet.LocalizeString("LinkToRegister", new object[0]), list));
            List <ObjectPicker.RowInfo> list5 = TaxCollectorSimpleDialog.Show(CMStoreSet.LocalizeString("LikToRegister", new object[0] {
            }), 0, list4, list3, true);

            if (list5 == null || list5.Count != 1)
            {
                return(null);
            }
            return(list5[0].Item as StoreSetRegister);
        }
        public static GameObject ShowObjectSelectionDialog(Sim sim)
        {
            List <ObjectPicker.HeaderInfo> headers = new List <ObjectPicker.HeaderInfo>();

            headers.Add(new ObjectPicker.HeaderInfo("Sim", null, 400));


            List <ObjectPicker.RowInfo> tableData = new List <ObjectPicker.RowInfo>();

            int roomId = sim.RoomId;

            GameObject[] gameObjectsInLot = sim.LotCurrent.GetObjects <GameObject>();
            foreach (GameObject gameObject in gameObjectsInLot)
            {
                if (gameObject.RoomId == roomId && gameObject != sim)
                {
                    ObjectPicker.RowInfo rowInfo   = new ObjectPicker.RowInfo(gameObject, new List <ObjectPicker.ColumnInfo>());
                    ThumbnailKey         thumbnail = gameObject.GetThumbnailKey();
                    rowInfo.ColumnInfo.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, gameObject.GetLocalizedName()));
                    tableData.Add(rowInfo);
                }
            }

            List <ObjectPicker.TabInfo> list3 = new List <ObjectPicker.TabInfo>();

            list3.Add(new ObjectPicker.TabInfo("shop_all_r2", "Select Something To Look At", tableData));
            string buttonOk     = Localization.LocalizeString("Ui/Caption/Global:Ok", new object[0]);
            string buttonCancel = Localization.LocalizeString("Ui/Caption/Global:Cancel", new object[0]);
            List <ObjectPicker.RowInfo> userSelection = BigObjectPickerDialog.Show(true, ModalDialog.PauseMode.PauseSimulator,
                                                                                   "Select Something To Look At", buttonOk, buttonCancel, list3, headers, 1);

            if (userSelection == null || userSelection.Count < 1)
            {
                return(null);
            }
            return(userSelection[0].Item as GameObject);
        }
Exemplo n.º 28
0
                // Methods
                public override void PopulatePieMenuPicker(ref InteractionInstanceParameters parameters, out List <ObjectPicker.TabInfo> listObjs, out List <ObjectPicker.HeaderInfo> headers, out int NumSelectableRows)
                {
                    headers  = new List <ObjectPicker.HeaderInfo>();
                    listObjs = new List <ObjectPicker.TabInfo>();
                    headers.Add(new ObjectPicker.HeaderInfo("Ui/Caption/ObjectPicker:ObjectName", "Ui/Tooltip/ObjectPicker:Name", 250));
                    headers.Add(new ObjectPicker.HeaderInfo("Ui/Caption/Shopping/Cart:Price", "Ui/Tooltip/Shopping/Cart:Price"));

                    List <ObjectPicker.RowInfo> rowInfo = new List <ObjectPicker.RowInfo>();
                    Sim actor = parameters.Actor as Sim;
                    ShoppingRegister register = parameters.Target as ShoppingRegister;


                    if (actor != null)
                    {
                        List <GameObject> list2 = CommonMethods.ItemDictionary(actor, CommonMethods.ReturnRegisterType(register), parameters.Target.LotCurrent);
                        NumSelectableRows = list2.Count;

                        foreach (GameObject obj2 in list2)
                        {
                            List <ObjectPicker.ColumnInfo> columnInfo = new List <ObjectPicker.ColumnInfo>();

                            ThumbnailKey thumbnailKey = obj2.GetThumbnailKey();

                            columnInfo.Add(new ObjectPicker.ThumbAndTextColumn(thumbnailKey, obj2.GetLocalizedName()));

                            columnInfo.Add(new ObjectPicker.MoneyColumn((int)ReturnItemPrice(obj2)));
                            ObjectPicker.RowInfo info = new ObjectPicker.RowInfo(obj2, columnInfo);
                            rowInfo.Add(info);
                        }
                    }
                    else
                    {
                        NumSelectableRows = 1;
                    }

                    listObjs.Add(new ObjectPicker.TabInfo("all", "", rowInfo));
                }
Exemplo n.º 29
0
        public override bool Run()
        {
            Definition interactionDefinition = base.InteractionDefinition as Definition;

            if (interactionDefinition == null)
            {
                return(false);
            }
            ObjectGuid mObject = interactionDefinition.mObject;
            int        mCost   = interactionDefinition.mCost;

            if (mObject == ObjectGuid.InvalidObjectGuid)
            {
                List <ObjectGuid> objectsICanBuyInDisplay = DisplayHelper.GetObjectsICanBuyInDisplay(base.Actor, base.Target);
                if (!Autonomous && Actor.IsSelectable)
                {
                    List <ObjectPicker.RowInfo> list = new List <ObjectPicker.RowInfo>();
                    foreach (ObjectGuid current in objectsICanBuyInDisplay)
                    {
                        GameObject           obj  = GlobalFunctions.ConvertGuidToObject <GameObject>(current);
                        ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(current, new List <ObjectPicker.ColumnInfo>
                        {
                            new ObjectPicker.ThumbAndTextColumn(obj.GetThumbnailKey(), obj.GetLocalizedName()),
                            new ObjectPicker.MoneyColumn(DisplayHelper.ComputeFinalPriceOnObject(obj, true))
                        });
                        list.Add(item);
                    }
                    List <ObjectPicker.HeaderInfo> list2 = new List <ObjectPicker.HeaderInfo>();
                    List <ObjectPicker.TabInfo>    list3 = new List <ObjectPicker.TabInfo>();
                    list2.Add(new ObjectPicker.HeaderInfo(ShoppingRegister.sLocalizationKey + ":BuyFoodColumnName", ShoppingRegister.sLocalizationKey + ":BuyFoodColumnTooltip", 200));
                    list2.Add(new ObjectPicker.HeaderInfo("Ui/Caption/Shopping/Cart:Price", "Ui/Tooltip/Shopping/Cart:Price"));
                    list3.Add(new ObjectPicker.TabInfo("", ShoppingRegister.LocalizeString("AvailableFoods"), list));
                    List <ObjectPicker.RowInfo> list4 = SimplePurchaseDialog.Show(ShoppingRegister.LocalizeString("BuyFoodTitle"), Actor.FamilyFunds, list3, list2, true);
                    if (list4 == null || list4.Count != 1)
                    {
                        return(false);
                    }
                    mObject = (ObjectGuid)list4[0].Item;
                    mCost   = ((ObjectPicker.MoneyColumn)list4[0].ColumnInfo[1]).Value;
                }
                else
                {
                    RandomUtil.RandomizeListOfObjects <ObjectGuid>(objectsICanBuyInDisplay);
                    int familyFunds = base.Actor.FamilyFunds;
                    for (int i = 0; i < objectsICanBuyInDisplay.Count; i++)
                    {
                        int cost = DisplayHelper.ComputeFinalPriceOnObject(objectsICanBuyInDisplay[i]);
                        if (cost <= familyFunds)
                        {
                            //Definition continuationDefinition = new Definition(objectsICanBuyInDisplay[i], cost, false);
                            //base.TryPushAsContinuation(continuationDefinition);
                            //return true;
                            mObject = objectsICanBuyInDisplay[i];
                            mCost   = cost;
                            break;
                        }
                    }
                    //return false;
                }
            }
            if (mObject == ObjectGuid.InvalidObjectGuid)
            {
                return(false);
            }
            if (!base.Actor.RouteToObjectRadialRange(base.Target, 0f, base.Target.MaxProximityBeforeSwiping()))
            {
                return(false);
            }
            base.Actor.RouteTurnToFace(base.Target.Position);
            if (!DisplayHelper.GetObjectsICanBuyInDisplay(base.Actor, base.Target).Contains(mObject))
            {
                return(false);
            }
            if (base.Actor.FamilyFunds < mCost)
            {
                return(false);
            }
            GameObject target = GlobalFunctions.ConvertGuidToObject <GameObject>(mObject);

            if (target == null)
            {
                return(false);
            }

            base.StandardEntry();
            base.BeginCommodityUpdates();
            string swipeAnimationName = base.Target.GetSwipeAnimationName(target);

            if (Actor.SimDescription.Child)
            {
                swipeAnimationName = "c" + swipeAnimationName.Substring(1);
            }
            base.Actor.PlaySoloAnimation(swipeAnimationName, true);
            VisualEffect effect = VisualEffect.Create(base.Target.GetSwipeVfxName());
            Vector3      zero   = Vector3.Zero;
            Vector3      axis   = Vector3.Zero;

            if (Slots.AttachToBone(effect.ObjectId, base.Target.ObjectId, ResourceUtils.HashString32("transformBone"), false, ref zero, ref axis, 0f) == TransformParentingReturnCode.Success)
            {
                effect.SetAutoDestroy(true);
                effect.Start();
            }
            else
            {
                effect.Dispose();
                effect = null;
            }
            //bool flag = false;
            //bool flag2 = false;
            bool   succeeded       = false;
            bool   addInteractions = true;
            string tnsKey          = null;

            if (target.IsLiveDraggingEnabled() && !target.InUse && (interactionDefinition.mPushEat || (target.ItemComp != null && target.ItemComp.CanAddToInventory(base.Actor.Inventory) && base.Actor.Inventory.CanAdd(target)))) //&& base.Actor.Inventory.TryToAdd(target)))
            {
                ServingContainerGroup groupServing = null;
                if (interactionDefinition.mSingleServing)
                {
                    groupServing = target as ServingContainerGroup;
                    if (groupServing != null)
                    {
                        target          = groupServing.CookingProcess.CreateSingleServingOfFood(groupServing, true, true);
                        addInteractions = false;
                    }
                }
                if (interactionDefinition.mPushEat)
                {
                    target.SetOpacity(0f, 0f);
                    if (Actor.ParentToRightHand(target))
                    {
                        succeeded = true;
                        CarrySystem.EnterWhileHolding(Actor, target as ICarryable);
                    }
                    target.FadeIn();
                }
                else if (Actor.Inventory.TryToAdd(target))
                {
                    succeeded = true;
                    tnsKey    = "PlacedInPersonalInventory";
                }
                if (succeeded)
                {
                    if (groupServing != null)
                    {
                        groupServing.DecrementServings();
                        if (groupServing.NumServingsLeft == 0)
                        {
                            groupServing.FadeOut(false, true);
                        }
                    }
                }
                else if (groupServing != null && target != null)
                {
                    target.Destroy();
                }
            }
            else if (!target.InUse && base.Actor.Household.SharedFamilyInventory.Inventory.TryToAdd(target))
            {
                succeeded = true;
                tnsKey    = "PlacedInFamilyInventory";
            }
            //bool succeeded = flag || flag2;
            if (succeeded)
            {
                if (addInteractions)
                {
                    Target.OnHandToolChildUnslotted(target, Slot.None);
                    if (target is Snack)
                    {
                        target.AddInteraction(Sims3.Gameplay.Objects.CookingObjects.Eat.Singleton, true);
                        target.AddInteraction(Snack_CleanUp.Singleton, true);
                    }
                }

                /*if (flag2)
                 * {
                 *  base.Actor.ShowTNSIfSelectable(CraftersConsignment.LocalizeString(base.Actor.IsFemale, "PlacedInFamilyInventory", new object[] { base.Actor, target }), StyledNotification.NotificationStyle.kGameMessagePositive);
                 * }
                 * else
                 * {
                 *  base.Actor.ShowTNSIfSelectable(CraftersConsignment.LocalizeString(base.Actor.IsFemale, "PlacedInPersonalInventory", new object[] { base.Actor, target }), StyledNotification.NotificationStyle.kGameMessagePositive);
                 * }*/
                if (tnsKey != null)
                {
                    Actor.ShowTNSIfSelectable(CraftersConsignment.LocalizeString(Actor.IsFemale, tnsKey, new object[] { Actor, target }), StyledNotification.NotificationStyle.kGameMessagePositive);
                }
                base.Target.GiveMarkupBuffs(base.Actor, mObject);
                base.Actor.ModifyFunds(-mCost);
                base.Target.GiveLotOwnerMoney(mCost, base.Actor);
                base.Target.AccumulateRevenue(mCost);
                if (interactionDefinition.mPushEat)
                {
                    (target as IFoodContainer).PushEatHeldFoodInteraction(Actor);
                }
            }
            base.EndCommodityUpdates(succeeded);
            base.StandardExit();
            return(succeeded);
        }
Exemplo n.º 30
0
            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);
                }
            }
Exemplo n.º 31
0
 public override bool Run()
 {            
     Definition interactionDefinition = base.InteractionDefinition as Definition;
     if (interactionDefinition == null)
     {               
         return false;
     }
     ObjectGuid mObject = interactionDefinition.mObject;
     int mCost = interactionDefinition.mCost;
     if (mObject == ObjectGuid.InvalidObjectGuid)
     {
         List<ObjectGuid> objectsICanBuyInDisplay = DisplayHelper.GetObjectsICanBuyInDisplay(base.Actor, base.Target);
         if (!Autonomous && Actor.IsSelectable)
         {
             List<ObjectPicker.RowInfo> list = new List<ObjectPicker.RowInfo>();
             foreach (ObjectGuid current in objectsICanBuyInDisplay)
             {
                 GameObject obj = GlobalFunctions.ConvertGuidToObject<GameObject>(current);
                 ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(current, new List<ObjectPicker.ColumnInfo>
                     {
                         new ObjectPicker.ThumbAndTextColumn(obj.GetThumbnailKey(), obj.GetLocalizedName()),
                         new ObjectPicker.MoneyColumn(DisplayHelper.ComputeFinalPriceOnObject(obj, true))
                     });
                 list.Add(item);
             }
             List<ObjectPicker.HeaderInfo> list2 = new List<ObjectPicker.HeaderInfo>();
             List<ObjectPicker.TabInfo> list3 = new List<ObjectPicker.TabInfo>();
             list2.Add(new ObjectPicker.HeaderInfo(ShoppingRegister.sLocalizationKey + ":BuyFoodColumnName", ShoppingRegister.sLocalizationKey + ":BuyFoodColumnTooltip", 200));
             list2.Add(new ObjectPicker.HeaderInfo("Ui/Caption/Shopping/Cart:Price", "Ui/Tooltip/Shopping/Cart:Price"));
             list3.Add(new ObjectPicker.TabInfo("", ShoppingRegister.LocalizeString("AvailableFoods"), list));
             List<ObjectPicker.RowInfo> list4 = SimplePurchaseDialog.Show(ShoppingRegister.LocalizeString("BuyFoodTitle"), Actor.FamilyFunds, list3, list2, true);
             if (list4 == null || list4.Count != 1)
             {
                 return false;
             }
             mObject = (ObjectGuid)list4[0].Item;
             mCost = ((ObjectPicker.MoneyColumn)list4[0].ColumnInfo[1]).Value;
         }
         else
         {
             RandomUtil.RandomizeListOfObjects<ObjectGuid>(objectsICanBuyInDisplay);
             int familyFunds = base.Actor.FamilyFunds;
             for (int i = 0; i < objectsICanBuyInDisplay.Count; i++)
             {
                 int cost = DisplayHelper.ComputeFinalPriceOnObject(objectsICanBuyInDisplay[i]);
                 if (cost <= familyFunds)
                 {
                     //Definition continuationDefinition = new Definition(objectsICanBuyInDisplay[i], cost, false);
                     //base.TryPushAsContinuation(continuationDefinition);                       
                     //return true;
                     mObject = objectsICanBuyInDisplay[i];
                     mCost = cost;
                     break;
                 }
             }                
             //return false;
         }
     }
     if (mObject == ObjectGuid.InvalidObjectGuid)
     {                
         return false;
     }
     if (!base.Actor.RouteToObjectRadialRange(base.Target, 0f, base.Target.MaxProximityBeforeSwiping()))
     {                
         return false;
     }
     base.Actor.RouteTurnToFace(base.Target.Position);
     if (!DisplayHelper.GetObjectsICanBuyInDisplay(base.Actor, base.Target).Contains(mObject))
     {                
         return false;
     }
     if (base.Actor.FamilyFunds < mCost)
     {                
         return false;
     }
     GameObject target = GlobalFunctions.ConvertGuidToObject<GameObject>(mObject);
     if (target == null)
     {                
         return false;
     }
     
     base.StandardEntry();
     base.BeginCommodityUpdates();
     string swipeAnimationName = base.Target.GetSwipeAnimationName(target);
     if (Actor.SimDescription.Child)
     {
         swipeAnimationName = "c" + swipeAnimationName.Substring(1);
     }
     base.Actor.PlaySoloAnimation(swipeAnimationName, true);
     VisualEffect effect = VisualEffect.Create(base.Target.GetSwipeVfxName());
     Vector3 zero = Vector3.Zero;
     Vector3 axis = Vector3.Zero;
     if (Slots.AttachToBone(effect.ObjectId, base.Target.ObjectId, ResourceUtils.HashString32("transformBone"), false, ref zero, ref axis, 0f) == TransformParentingReturnCode.Success)
     {
         effect.SetAutoDestroy(true);
         effect.Start();
     }
     else
     {
         effect.Dispose();
         effect = null;
     }
     //bool flag = false;
     //bool flag2 = false;
     bool succeeded = false;
     bool addInteractions = true;
     string tnsKey = null;
     if (target.IsLiveDraggingEnabled() && !target.InUse && (interactionDefinition.mPushEat || (target.ItemComp != null && target.ItemComp.CanAddToInventory(base.Actor.Inventory) && base.Actor.Inventory.CanAdd(target)))) //&& base.Actor.Inventory.TryToAdd(target)))
     {
         ServingContainerGroup groupServing = null;
         if (interactionDefinition.mSingleServing)
         {
            groupServing = target as ServingContainerGroup;
             if (groupServing != null)
             {
                 target = groupServing.CookingProcess.CreateSingleServingOfFood(groupServing, true, true);
                 addInteractions = false;
             }
         }
         if (interactionDefinition.mPushEat)
         {
             target.SetOpacity(0f, 0f);
             if (Actor.ParentToRightHand(target))
             {
                 succeeded = true;
                 CarrySystem.EnterWhileHolding(Actor, target as ICarryable);
             }
             target.FadeIn();
         }
         else if (Actor.Inventory.TryToAdd(target))
         {
             succeeded = true;
             tnsKey = "PlacedInPersonalInventory";
         }
         if (succeeded)
         {
             if (groupServing != null)
             {
                 groupServing.DecrementServings ();
                 if (groupServing.NumServingsLeft == 0)
                 {
                     groupServing.FadeOut (false, true);
                 }
             }
         }
         else if (groupServing != null && target != null)
         {
             target.Destroy();
         }
     }
     else if (!target.InUse && base.Actor.Household.SharedFamilyInventory.Inventory.TryToAdd(target))
     {
         succeeded = true;
         tnsKey = "PlacedInFamilyInventory";
     }
     //bool succeeded = flag || flag2;
     if (succeeded)
     {
         if (addInteractions)
         {
             Target.OnHandToolChildUnslotted(target, Slot.None);
             if (target is Snack)
             {
                 target.AddInteraction(Sims3.Gameplay.Objects.CookingObjects.Eat.Singleton, true);
                 target.AddInteraction(Snack_CleanUp.Singleton, true);
             }
         }
         /*if (flag2)
         {
             base.Actor.ShowTNSIfSelectable(CraftersConsignment.LocalizeString(base.Actor.IsFemale, "PlacedInFamilyInventory", new object[] { base.Actor, target }), StyledNotification.NotificationStyle.kGameMessagePositive);
         }
         else
         {
             base.Actor.ShowTNSIfSelectable(CraftersConsignment.LocalizeString(base.Actor.IsFemale, "PlacedInPersonalInventory", new object[] { base.Actor, target }), StyledNotification.NotificationStyle.kGameMessagePositive);
         }*/
         if (tnsKey != null)
         {
             Actor.ShowTNSIfSelectable(CraftersConsignment.LocalizeString(Actor.IsFemale, tnsKey, new object[] { Actor, target }), StyledNotification.NotificationStyle.kGameMessagePositive);
         }
         base.Target.GiveMarkupBuffs(base.Actor, mObject);
         base.Actor.ModifyFunds(-mCost);
         base.Target.GiveLotOwnerMoney(mCost, base.Actor);
         base.Target.AccumulateRevenue(mCost);
         if (interactionDefinition.mPushEat)
         {
             (target as IFoodContainer).PushEatHeldFoodInteraction(Actor);
         }
     }
     base.EndCommodityUpdates(succeeded);
     base.StandardExit();
     return succeeded;
 }
Exemplo n.º 32
0
        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);
        }
Exemplo n.º 33
0
        public static List<ObjectPicker.RowInfo> ReturnMinorPetsAsRowInfo(List<MinorPet> pets)
        {
            List<ObjectPicker.RowInfo> list = new List<ObjectPicker.RowInfo>();

            foreach (MinorPet p in pets)
            {
                List<ObjectPicker.ColumnInfo> list4 = new List<ObjectPicker.ColumnInfo>();
                string text = p.Data.Name; //Localization.LocalizeString(p.Data.Name, new object[0]);
                list4.Add(new ObjectPicker.ThumbAndTextColumn(p.GetThumbnailKey(), text));
                list4.Add(new ObjectPicker.MoneyColumn(0));
                ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(p, list4);
                list.Add(item);
               
            }

            return list;
        }
Exemplo n.º 34
0
        /// <summary>
        /// Show minor pets dialog
        /// </summary>
        /// <returns></returns>
        public static List<MinorPet> ShowMinorPetDialog(List<MinorPet> pets)
        {
         //   MinorPetTerrarium.Stock.Definition definition = base.InteractionDefinition as MinorPetTerrarium.Stock.Definition;
            List<ObjectPicker.HeaderInfo> list = new List<ObjectPicker.HeaderInfo>();
            List<ObjectPicker.TabInfo> list2 = new List<ObjectPicker.TabInfo>();
            string headerTextId = "Gameplay/Objects/MinorPetTerrarium/Stock:StockDialogPetColumnHeader";
            string headerTooltipId = "Gameplay/Objects/MinorPetTerrarium/Stock:StockDialogPetColumnHeaderTooltip";
            string headerTextId2 = "Gameplay/Objects/MinorPetTerrarium/Stock:StockDialogPriceColumnHeader";
            string headerTooltipId2 = "Gameplay/Objects/MinorPetTerrarium/Stock:StockDialogPriceColumnHeaderTooltip";
            list.Add(new ObjectPicker.HeaderInfo(headerTextId, headerTooltipId));
            list.Add(new ObjectPicker.HeaderInfo(headerTextId2, headerTooltipId2));
            List<ObjectPicker.RowInfo> list3 = new List<ObjectPicker.RowInfo>();
            //foreach (KeyValuePair<MinorPetSpecies, MinorPetData> current in MinorPet.sData)
            //{
            //    if (current.Value.Stockable && definition.mPetTypeToShowInDialog == current.Value.MinorPetType && this.Target.AllowsPetType(current.Value.MinorPetType))
            //    {
            //        ThumbnailKey thumbnail = new ThumbnailKey(GlobalFunctions.CreateProductKey(current.Value.MedatorName, current.Value.CodeVersion), ThumbnailSize.Medium);
            //        List<ObjectPicker.ColumnInfo> list4 = new List<ObjectPicker.ColumnInfo>();
            //        string text = Localization.LocalizeString(current.Value.Name, new object[0]);
            //        list4.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, text));
            //        list4.Add(new ObjectPicker.MoneyColumn(current.Value.StockCost));
            //        ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(current.Key, list4);
            //        list3.Add(item);
            //    }
            //}

            foreach (MinorPet current in pets)
            {
               // ThumbnailKey thumbnail = new ThumbnailKey(GlobalFunctions.CreateProductKey(current.Value.MedatorName, current.Value.CodeVersion), ThumbnailSize.Medium);
                List<ObjectPicker.ColumnInfo> list4 = new List<ObjectPicker.ColumnInfo>();
                string text = Localization.LocalizeString(current.Data.Name, new object[0]);
                list4.Add(new ObjectPicker.ThumbAndTextColumn(current.GetThumbnailKey(), text));
                list4.Add(new ObjectPicker.MoneyColumn(0));
                ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(current.Data, list4);
                list3.Add(item);
            }

            list2.Add(new ObjectPicker.TabInfo(string.Empty, string.Empty, list3));
            string title = Localization.LocalizeString("Gameplay/Objects/MinorPetTerrarium/Stock:StockDialogTitle", new object[0]);
          //  List<ObjectPicker.RowInfo> list5 = Simpled ModalDialog.
            List<ObjectPicker.RowInfo> list5 = SimpleListDialog.Show(title, 0, list2, list, true, Localization.LocalizeString("Ui/Caption/Global:Accept", new object[0]));
            if (list5 == null)
            {
                return null;
            }

            List<MinorPet> minorPets = new List<MinorPet>();
            foreach (var item in list5)
            {
                minorPets.Add(item.Item as MinorPet);
            }
            //MinorPetSpecies species = (MinorPetSpecies)list5[0].Item;
            //MinorPet minorPet = MinorPet.Make(species, true, false) as MinorPet;
            //if (minorPet != null)
            //{
            //    minorPet.SetBehaviorSMCStateStopped();
            //}
            return minorPets;
        }
Exemplo n.º 35
0
        public static List<ObjectPicker.RowInfo> ReturnInventoryItemAsRowInfo(List<InventoryItem> items)
        {
            List<ObjectPicker.RowInfo> list = new List<ObjectPicker.RowInfo>();

            foreach (InventoryItem i in items)
            {
                //Don't sell your cell, make a new mod for this ^_^
                if (i.GetType() != typeof(PhoneSmart))
                {
                    List<ObjectPicker.ColumnInfo> list4 = new List<ObjectPicker.ColumnInfo>();
                    string text = i.Object.GetLocalizedName(); //Localization.LocalizeString(p.Data.Name, new object[0]);
                    list4.Add(new ObjectPicker.ThumbAndTextColumn(i.Object.GetThumbnailKey(), text));
                    list4.Add(new ObjectPicker.MoneyColumn(0));
                    ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(i, list4);
                    list.Add(item);
                }
            }

            return list;
        }
Exemplo n.º 36
0
        // 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++;
            //}
        }
Exemplo n.º 37
0
        public static StoreSetRegister ReturnRegisterForLinking(StoreSetRegister[] objects)
        {
            ThumbnailKey thumbnail = ThumbnailKey.kInvalidThumbnailKey;
            string text = string.Empty;
            List<ObjectPicker.RowInfo> list = new List<ObjectPicker.RowInfo>();

            foreach (StoreSetRegister t in objects)
            {
                List<ObjectPicker.ColumnInfo> list2 = new List<ObjectPicker.ColumnInfo>();

                int num = 0;
                thumbnail = t.GetThumbnailKey();

                text = t.Info.RegisterName;

                //common
                list2.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, text));
                list2.Add(new ObjectPicker.MoneyColumn(num));
                ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(t, list2);
                list.Add(item);
            }


            List<ObjectPicker.HeaderInfo> list3 = new List<ObjectPicker.HeaderInfo>();
            List<ObjectPicker.TabInfo> list4 = new List<ObjectPicker.TabInfo>();
            list3.Add(new ObjectPicker.HeaderInfo(string.Empty, string.Empty, 200));
            list3.Add(new ObjectPicker.HeaderInfo("1", "2"));
            list4.Add(new ObjectPicker.TabInfo("3", CMStoreSet.LocalizeString("LinkToRegister", new object[0]), list));
            List<ObjectPicker.RowInfo> list5 = TaxCollectorSimpleDialog.Show(CMStoreSet.LocalizeString("LikToRegister", new object[0] { }), 0, list4, list3, true);
            if (list5 == null || list5.Count != 1)
            {
                return null;
            }
            return (list5[0].Item as StoreSetRegister);
        }
Exemplo n.º 38
0
        public static List<ObjectPicker.RowInfo> ReturnHouseholdsAsRowInfo(List<Household> households)
        {
            List<ObjectPicker.RowInfo> list = new List<ObjectPicker.RowInfo>();

            foreach (Household h in households)
            {
                if (h.Sims != null && h.Sims.Count > 0)
                {
                    List<ObjectPicker.ColumnInfo> list4 = new List<ObjectPicker.ColumnInfo>();
                    list4.Add(new ObjectPicker.ThumbAndTextColumn(h.Sims.ToArray()[0].GetThumbnailKey(), h.Name));
                    list4.Add(new ObjectPicker.MoneyColumn(0));
                    ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(h, list4);
                    list.Add(item);
                }
            }

            return list;
        }
Exemplo n.º 39
0
            protected override bool Run(SimDescription a, SimDescription b)
            {
                Relationship relation = Relationship.Get(a, b, true);

                if (relation == null)
                {
                    return(false);
                }

                string currentState = relation.LTR.CurrentLTR;

                List <NewLevel> allOptions = new List <NewLevel>();

                string newState = ChangeRelationship.NextNegativeRomanceState(currentState);

                while (newState != null)
                {
                    if (!relation.LTR.RelationshipIsInappropriate(LTRData.Get(newState)))
                    {
                        allOptions.Insert(0, new NewLevel(newState, false));
                    }

                    newState = ChangeRelationship.NextNegativeRomanceState(newState);
                }

                allOptions.Add(new NewLevel(currentState, true));

                if (currentState == "Stranger")
                {
                    newState = "Acquaintance";
                    allOptions.Add(new NewLevel(newState, true));
                }
                else
                {
                    newState = currentState;
                }

                newState = ChangeRelationship.NextPositiveRomanceState(newState);
                while (newState != null)
                {
                    if (!relation.LTR.RelationshipIsInappropriate(LTRData.Get(newState)))
                    {
                        allOptions.Add(new NewLevel(newState, true));
                    }

                    newState = ChangeRelationship.NextPositiveRomanceState(newState);
                }

                List <ObjectPicker.HeaderInfo> headers = new List <ObjectPicker.HeaderInfo>();

                headers.Add(new ObjectPicker.HeaderInfo("Level", "Relationship Level", 230));

                int count = 0;

                List <ObjectPicker.RowInfo> rowInfo = new List <ObjectPicker.RowInfo>();

                foreach (NewLevel level in allOptions)
                {
                    ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(level, new List <ObjectPicker.ColumnInfo>());

                    count++;

                    item.ColumnInfo.Add(new ObjectPicker.TextColumn(count.ToString() + ". " + level.mState));

                    rowInfo.Add(item);
                }

                List <ObjectPicker.TabInfo> tabInfo = new List <ObjectPicker.TabInfo>();

                tabInfo.Add(new ObjectPicker.TabInfo("shop_all_r2", Localization.LocalizeString("Ui/Caption/ObjectPicker:All", new object[0]), rowInfo));

                string buttonTrue  = "Ok";
                string buttonFalse = Localization.LocalizeString("Ui/Caption/ObjectPicker:Cancel", new object[0]);

                List <ObjectPicker.RowInfo> list = ObjectPickerDialog.Show(true, ModalDialog.PauseMode.PauseSimulator, "Relationship", buttonTrue, buttonFalse, tabInfo, headers, 1, new Vector2(-1f, -1f), true);

                List <string> selection = new List <string>();

                if ((list == null) || (list.Count == 0))
                {
                    return(false);
                }

                NewLevel choice = list[0].Item as NewLevel;

                if (choice == null)
                {
                    return(false);
                }

                if (choice.mState == currentState)
                {
                    return(false);
                }

                bool bFirst = true;

                if (choice.mUp)
                {
                    while (BumpUp(a, b, bFirst))
                    {
                        if (choice.mState == relation.LTR.CurrentLTR)
                        {
                            return(true);
                        }

                        if (currentState == relation.LTR.CurrentLTR)
                        {
                            return(false);
                        }
                        currentState = relation.LTR.CurrentLTR;

                        bFirst = false;
                    }
                }
                else
                {
                    while (BumpDown(a, b, bFirst))
                    {
                        if (choice.mState == relation.LTR.CurrentLTR)
                        {
                            return(true);
                        }

                        if (currentState == relation.LTR.CurrentLTR)
                        {
                            return(false);
                        }
                        currentState = relation.LTR.CurrentLTR;

                        bFirst = false;
                    }
                }

                return(true);
            }
Exemplo n.º 40
0
        public static GameObject ReturnTaxCollector(TaxCollector active, List<GameObject> objects)
        {
            ThumbnailKey thumbnail = ThumbnailKey.kInvalidThumbnailKey;
            string text = string.Empty;
            List<ObjectPicker.RowInfo> list = new List<ObjectPicker.RowInfo>();

            foreach (GameObject t in objects)
            {
                List<ObjectPicker.ColumnInfo> list2 = new List<ObjectPicker.ColumnInfo>();

                int num = 0;
                thumbnail = t.GetThumbnailKey();               

                if (t.GetType() == typeof(TaxCollector))
                {                   
                    text = (t as TaxCollector).info.Name;
                    num = (t as TaxCollector).info.Funds;                    
                }

                if (t.GetType() == typeof(DonationBox))
                {
                    text = (t as DonationBox).info.Name;
                    num = (t as DonationBox).info.Funds;
                }

                //common
                list2.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, text));
                list2.Add(new ObjectPicker.MoneyColumn(num));
                ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(t, list2);
                list.Add(item);
            }


            List<ObjectPicker.HeaderInfo> list3 = new List<ObjectPicker.HeaderInfo>();
            List<ObjectPicker.TabInfo> list4 = new List<ObjectPicker.TabInfo>();
            list3.Add(new ObjectPicker.HeaderInfo(string.Empty, string.Empty, 200));
            list3.Add(new ObjectPicker.HeaderInfo(CommonMethodsTaxCollector.LocalizeString("Funds", new object[0]), CommonMethodsTaxCollector.LocalizeString("Funds", new object[0])));
            list4.Add(new ObjectPicker.TabInfo("coupon", ShoppingRegister.LocalizeString("AvailableConcessionsFoods", new object[0]), list));
            List<ObjectPicker.RowInfo> list5 = TaxCollectorSimpleDialog.Show(CommonMethodsTaxCollector.LocalizeString("TransferToObject", new object[0]), 0, list4, list3, true);
            if (list5 == null || list5.Count != 1)
            {
                return null;
            }
            return (list5[0].Item as GameObject);

            

        }
Exemplo n.º 41
0
        public static List<ObjectPicker.RowInfo> ReturnTaxCollectorsAsRowInfo(List<TaxCollector> collectors)
        {
            List<ObjectPicker.RowInfo> list = new List<ObjectPicker.RowInfo>();

            foreach (TaxCollector t in collectors)
            {
                List<ObjectPicker.ColumnInfo> list4 = new List<ObjectPicker.ColumnInfo>();
                list4.Add(new ObjectPicker.TextColumn(t.info.Name));
                // list4.Add(new ObjectPicker.MoneyColumn(0));
                ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(t, list4);
                list.Add(item);
            }

            return list;
        }
Exemplo n.º 42
0
            public override bool Run()
            {
                try
                {
                    Sim sim = Target as Sim;
                    if (sim == null)
                    {
                        sim = Actor;
                    }

                    List <Opportunity> allOpportunities = GetAllOpportunities(sim);
                    if (allOpportunities.Count == 0)
                    {
                        SimpleMessageDialog.Show(Localize("Select:MenuName"), Localize("Choice:None"));
                        return(false);
                    }

                    List <ObjectPicker.HeaderInfo> headers = new List <ObjectPicker.HeaderInfo>();
                    headers.Add(new ObjectPicker.HeaderInfo("NRaas.OpportunityControl.Choice:Header", "NRaas.OpportunityControl.Choice:Tooltip", 230));

                    List <ObjectPicker.RowInfo> rowInfo = new List <ObjectPicker.RowInfo>();
                    foreach (Opportunity opportunity in allOpportunities)
                    {
                        try
                        {
                            // Here to catch exceptions prior to RowInfo creation
                            string name = opportunity.Name;

                            if (opportunity.IsCareer)
                            {
                                name = Localization.LocalizeString("Ui/Caption/HUD/CareerPanel:Career", new object[0]) + ": " + name;
                            }

                            ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(opportunity, new List <ObjectPicker.ColumnInfo>());

                            item.ColumnInfo.Add(new ObjectPicker.TextColumn(name));

                            rowInfo.Add(item);
                        }
                        catch
                        {
                        }
                    }

                    List <ObjectPicker.TabInfo> tabInfo = new List <ObjectPicker.TabInfo>();
                    tabInfo.Add(new ObjectPicker.TabInfo("shop_all_r2", Localization.LocalizeString("Ui/Caption/ObjectPicker:All", new object[0]), rowInfo));

                    List <ObjectPicker.RowInfo> list = NRaas.OpportunityControlSpace.ObjectPickerDialog.Show(Localize("Choice:Title"), tabInfo, headers, 1);

                    if ((list == null) || (list.Count == 0))
                    {
                        return(false);
                    }

                    Opportunity sel = list[0].Item as Opportunity;
                    if (sel == null)
                    {
                        return(false);
                    }
                    ;

                    sim.OpportunityManager.AddOpportunityNow(sel.Guid, true, false);
                    return(true);
                }
                catch (Exception exception)
                {
                    Exception(exception);
                }

                return(false);
            }
Exemplo n.º 43
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;

        }