Ejemplo n.º 1
0
            public override void ConfigureInteraction()
            {
                try
                {
                    mCareer = Actor.OccupationAsCareer;

                    mFinishTime = (SimClock.Hours24 + mCareer.CurLevel.DayLength) % 24;

                    InteractionIconKey = new ThumbnailKey(ResourceKey.CreatePNGKey(mCareer.DreamsAndPromisesIcon, 0x0), ThumbnailSize.Medium);
                    mCareer.SetTones(this);

                    StringDelegate delegate2;
                    if (((mCareer.LastTone != null) && mCareer.LastTone.ShouldAddTone(mCareer)) && mCareer.LastTone.Test(this, out delegate2))
                    {
                        CurrentTone = mCareer.LastTone;
                    }
                    if (mCareer.IsSpecialWorkTime)
                    {
                        TimeOfDayStage stage = new TimeOfDayStage(LocalizeString("WorkStage", new object[0x0]), mCareer.HourSpecialWorkTimeEnds, 24f);
                        Stages = new List <Stage>(new Stage[] { stage });
                    }
                    else
                    {
                        float maxDurationInHours     = (mCareer.CurLevel.DayLength + Career.kNumHoursEarlyCanShowUpForWork) + mCareer.OvertimeHours;
                        WorkInRabbitHoleStage stage2 = new WorkInRabbitHoleStage(LocalizeString("WorkEndShiftStage", new object[0x0]), mFinishTime, maxDurationInHours, mCareer);
                        Stages      = new List <Stage>(new Stage[] { stage2 });
                        ActiveStage = stage2;
                        if (Actor.TraitManager.HasElement(TraitNames.Workaholic))
                        {
                            foreach (CareerTone tone in mCareer.Tones)
                            {
                                if (tone is WorkHardTone)
                                {
                                    CurrentTone = tone;
                                    break;
                                }
                            }
                        }
                        else if (Actor.TraitManager.HasElement(TraitNames.Schmoozer))
                        {
                            foreach (CareerTone tone2 in mCareer.Tones)
                            {
                                if (tone2 is SuckUpToBossTone)
                                {
                                    CurrentTone = tone2;
                                    break;
                                }
                            }
                        }
                    }
                }
                catch (ResetException)
                {
                    throw;
                }
                catch (Exception e)
                {
                    Common.Exception(Actor, Target, e);
                }
            }
Ejemplo n.º 2
0
            public Item(BookData book, bool read)
                : base(book.Title, read ? 1 : 0)
            {
                mThumbnail = new ThumbnailKey(new ResourceKey((ulong)ResourceUtils.XorFoldHashString32("book_standard"), 0x1661233, 0x1), ThumbnailSize.Medium, ResourceUtils.HashString32(book.GeometryState), ResourceUtils.HashString32(book.MaterialState));

                mBook = book;
            }
Ejemplo n.º 3
0
            public override ObjectPicker.ColumnInfo GetValue(SimDescription item)
            {
                ThumbnailKey thumbnail = ThumbnailKey.kInvalidThumbnailKey;

                if (item.GetOutfit(OutfitCategories.Everyday, 0x0) != null)
                {
                    thumbnail = item.GetThumbnailKey(ThumbnailSize.Large, 0);
                }

                return(new ObjectPicker.ThumbAndTextColumn(thumbnail, item.FirstName));
            }
Ejemplo n.º 4
0
 public Item(CASParts.Key key, SimDescriptionCore sim)
     : this(key)
 {
     if (sim != null)
     {
         SimOutfit outfit = CASParts.GetOutfit(sim, key, false);
         if (outfit != null)
         {
             mThumbnail = new ThumbnailKey(outfit, 0x0, ThumbnailSize.Medium, ThumbnailCamera.Body);
         }
     }
 }
Ejemplo n.º 5
0
        protected override string GetLocalizedValue(AcademicDegreeNames value, ref ThumbnailKey icon)
        {
            AcademicDegreeStaticData degree = AcademicDegreeManager.GetStaticElement(value);

            if (degree == null)
            {
                return(null);
            }

            // icon = new ThumbnailKey(ResourceKey.CreatePNGKey(career.CareerIconColored, ResourceUtils.ProductVersionToGroupId(ProductVersion.BaseGame)), ThumbnailSize.Medium);

            return(degree.DegreeName);
        }
Ejemplo n.º 6
0
        protected override string GetLocalizedValue(string value, ref bool matches, ref ThumbnailKey icon)
        {
            matches = (Value == value);

            if (string.IsNullOrEmpty(value))
            {
                return(Common.Localize("None:MenuName"));
            }
            else
            {
                return(value);
            }
        }
Ejemplo n.º 7
0
        protected override string GetLocalizedValue(OccupationNames value, ref ThumbnailKey icon)
        {
            Occupation career = CareerManager.GetStaticOccupation(value);

            if (career == null)
            {
                return(null);
            }

            icon = new ThumbnailKey(ResourceKey.CreatePNGKey(career.CareerIconColored, ResourceUtils.ProductVersionToGroupId(ProductVersion.BaseGame)), ThumbnailSize.Medium);

            return(career.CareerName);
        }
Ejemplo n.º 8
0
        protected override string GetLocalizedValue(TraitNames value, ref ThumbnailKey icon)
        {
            Trait trait = TraitManager.GetTraitFromDictionary(value);

            if (trait == null)
            {
                return(null);
            }

            icon = new ThumbnailKey(ResourceKey.CreatePNGKey(trait.ThumbnailIcon, ResourceUtils.ProductVersionToGroupId(trait.ProductVersion)), ThumbnailSize.Medium);

            return(Traits.ProperName(value, false));
        }
Ejemplo n.º 9
0
        protected override string GetLocalizedValue(SkillNames value, ref ThumbnailKey icon)
        {
            Skill skill = SkillManager.GetStaticSkill(value);

            if (skill == null)
            {
                return(null);
            }

            icon = new ThumbnailKey(skill.DreamsAndPromisesIconKey, ThumbnailSize.Medium);

            return(skill.Name);
        }
Ejemplo n.º 10
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);
         }
     }
 }
Ejemplo n.º 11
0
        protected override string GetLocalizedValue(ulong value, ref bool matches, ref ThumbnailKey icon)
        {
            matches = (Value == value);

            SimDescription sim = ManagerSim.Find(value);

            if (sim == null)
            {
                return(null);
            }

            icon = sim.GetThumbnailKey(ThumbnailSize.Large, 0);

            return(sim.LastName + ", " + sim.FirstName);
        }
Ejemplo n.º 12
0
        public static ThumbnailKey GetThumbnailKey(IMiniSimDescription ths, ThumbnailSize size, int thumbIndex)
        {
            try
            {
                if (ths == null)
                {
                    return(ThumbnailKey.kInvalidThumbnailKey);
                }

                MiniSimDescription miniSim = ths as MiniSimDescription;
                if (miniSim != null)
                {
                    if (!ThumbnailManager.KeyExistsInDB(miniSim.mThumbKey))
                    {
                        SimDescription sim = MiniSims.UnpackSim(miniSim);

                        ThumbnailKey thumbnailKey = sim.GetThumbnailKey(ThumbnailSize.Large, 0x0);

                        try
                        {
                            sim.Dispose(false, true);
                        }
                        catch (Exception e)
                        {
                            Common.Exception(sim, e);
                        }

                        return(thumbnailKey);
                    }

                    return(miniSim.mThumbKey);
                }
                else if ((ths.CASGenealogy == null) || (ths.CASGenealogy.IsAlive()))
                {
                    return(ths.GetThumbnailKey(size, thumbIndex));
                }
                else
                {
                    return(ths.GetDeceasedThumbnailKey(size, thumbIndex));
                }
            }
            catch (Exception e)
            {
                Common.Exception(ths.FullName, e);
                return(ThumbnailKey.kInvalidThumbnailKey);
            }
        }
Ejemplo n.º 13
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);
            }
Ejemplo n.º 14
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);
        }
Ejemplo n.º 15
0
        public Dictionary <string, List <StoreItem> > ItemDictionaryBooks()
        {
            Dictionary <string, List <StoreItem> > books = Bookstore.sItemDictionary;

            //Add written books into the shopping list
            List <Sim>      sList = new List <Sim>(Sims3.Gameplay.Queries.GetObjects <Sim>());
            BookWrittenData data3 = null;

            foreach (Sim s in sList)
            {
                if (s.SimDescription != null && s.SimDescription.ChildOrAbove && s.SkillManager != null)
                {
                    Writing element = s.SkillManager.GetElement(SkillNames.Writing) as Writing;

                    if ((element != null) && (element.WrittenBookDataList.Count > 0))
                    {
                        BookGeneralStoreItem item = null;
                        foreach (WrittenBookData data in element.WrittenBookDataList.Values)
                        {
                            //Check has the book already been added
                            object o = books["General"].Find(delegate(StoreItem i) { return(i.Name.Equals(data.Title)); });

                            if (o == null)
                            {
                                data3        = new BookWrittenData(data, false);
                                data3.Author = s.SimDescription.FullName;

                                ThumbnailKey thumb = new ThumbnailKey(new ResourceKey((ulong)ResourceUtils.XorFoldHashString32("book_standard"), 0x1661233, 1), ThumbnailSize.Medium, ResourceUtils.HashString32("default"), ResourceUtils.HashString32(data.MaterialState));

                                item = new BookGeneralStoreItem(data.Title, (float)data.Value, data3, thumb, ("BookGeneral_" + data.Title.Replace(" ", string.Empty)), new CreateObjectCallback(CreateWrittenBookCallback), new ProcessObjectCallback(ProcessWrittenBookCallback), null, new List <WorldType> {
                                    WorldType.Undefined, WorldType.Base, WorldType.Downtown
                                }, data3.Author, data.Title, data.NumPages, BookData.GetGenreLocalizedString(data.Genre));

                                if (books.ContainsKey("General"))
                                {
                                    books["General"].Add(item);
                                    books["All"].Add(item);
                                }
                            }
                        }
                    }
                }
            }
            return(books);
        }
Ejemplo n.º 16
0
            public override ObjectPicker.ColumnInfo GetValue(SimDescription item)
            {
                ThumbnailKey thumbnail = ThumbnailKey.kInvalidThumbnailKey;

                if (item.GetOutfit(OutfitCategories.Everyday, 0x0) != null)
                {
                    thumbnail = item.GetThumbnailKey(ThumbnailSize.Large, 0);
                }

                string name = item.LastName + ", " + item.FirstName;

                if (mSim == item)
                {
                    name = Common.Localize("Doppleganger:Clone", item.IsFemale, new object[] { name });
                }

                return(new ObjectPicker.ThumbAndTextColumn(thumbnail, name));
            }
Ejemplo n.º 17
0
            public Item(CASParts.Key outfitKey, bool alternate, SimDescription sim, CASParts.Key displayKey)
                : base(outfitKey, displayKey.GetLocalizedName(sim, false), 0)
            {
                mDisplayKey = displayKey;

                if (mValue.mCategory == OutfitCategories.None)
                {
                    SetThumbnail("shop_all_r2", ProductVersion.BaseGame);
                }
                else
                {
                    SimOutfit outfit = CASParts.GetOutfit(sim, mValue, alternate);
                    if (outfit != null)
                    {
                        mThumbnail = new ThumbnailKey(outfit, 0x0, ThumbnailSize.Medium, ThumbnailCamera.Body);
                    }
                }
            }
Ejemplo n.º 18
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);
                }
            }
Ejemplo n.º 19
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);
        }
Ejemplo n.º 20
0
            public Item(CASParts.Wrapper part)
                : base(part.mPart.Key, "0x" + part.mPart.Key.InstanceId.ToString("X16"), 0)
            {
                CASParts.PartPreset preset = new CASParts.PartPreset(part.mPart);
                if (!preset.Valid)
                {
                    uint num2 = CASUtils.PartDataNumPresets(part.mPart.Key);
                    if (num2 > 0)
                    {
                        preset = new CASParts.PartPreset(part.mPart, 0);
                        if (!preset.Valid)
                        {
                            return;
                        }
                    }
                }

                mThumbnail = new ThumbnailKey(preset.mPart.Key, (preset.mPresetId != uint.MaxValue) ? ((int)preset.mPresetId) : -1, (uint)preset.mPart.BodyType, (uint)preset.mPart.AgeGenderSpecies, ThumbnailSize.Large);
            }
Ejemplo n.º 21
0
        protected override string GetLocalizedValue(string value, ref ThumbnailKey icon)
        {
            // called from option dialog
            string[] split = value.Split('-');

            if (split.Length < 2)
            {
                split[0] = ""; // will cause TryParseEnum to fail
            }

            SkillNames result;
            Skill      skill;

            if (!ParserFunctions.TryParseEnum <SkillNames>(split[0], out result, SkillNames.None))
            {
                ulong guid;
                if (ulong.TryParse(split[0], out guid))
                {
                    result = (SkillNames)guid;
                }
                else
                {
                    return(SkillNames.None + " " + EAText.GetNumberString(0));
                }
            }

            skill = SkillManager.GetStaticSkill(result);

            if (skill == null)
            {
                return(SkillNames.None + " " + EAText.GetNumberString(0));
            }

            icon = new ThumbnailKey(skill.DreamsAndPromisesIconKey, ThumbnailSize.Medium);

            int num = 0;

            int.TryParse(split[1], out num);

            return(skill.Name + " " + EAText.GetNumberString(num));
        }
Ejemplo n.º 22
0
        /// <summary>
        /// See interface docs.
        /// </summary>
        /// <param name="icao"></param>
        /// <param name="registration"></param>
        /// <param name="maxThumbnails"></param>
        /// <returns></returns>
        public WebRequestResult <AirportDataThumbnailsJson> GetThumbnails(string icao, string registration, int maxThumbnails)
        {
            var thumbnailKey    = new ThumbnailKey(icao, maxThumbnails);
            var cachedThumbnail = _ThumbnailCache.GetForKeyAndRefresh(thumbnailKey);

            if (cachedThumbnail != null)
            {
                cachedThumbnail.LastAccessTimeUtc = DateTime.UtcNow;
            }
            else
            {
                cachedThumbnail = new CachedThumbnail()
                {
                    LastAccessTimeUtc = DateTime.UtcNow,
                    Thumbnail         = RequestThumbnails(icao, registration, maxThumbnails),
                };
                _ThumbnailCache.UpsertAndRefresh(thumbnailKey, cachedThumbnail);
            }

            return(cachedThumbnail.Thumbnail);
        }
Ejemplo n.º 23
0
        protected override string GetLocalizedValue(string value, ref ThumbnailKey icon)
        {
            string[] split = value.Split('-');

            if (split.Length < 2)
            {
                split[0] = ""; // will cause TryParseEnum to fail
            }

            OccupationNames result;
            Occupation      career;

            if (!ParserFunctions.TryParseEnum <OccupationNames>(split[0], out result, OccupationNames.Undefined))
            {
                ulong guid;
                if (ulong.TryParse(split[0], out guid))
                {
                    result = (OccupationNames)guid;
                }
                else
                {
                    return(OccupationNames.Undefined + " " + EAText.GetNumberString(0));
                }
            }

            career = CareerManager.GetStaticOccupation(result);

            if (career == null)
            {
                return(OccupationNames.Undefined + " " + EAText.GetNumberString(0));
            }

            icon = new ThumbnailKey(ResourceKey.CreatePNGKey(career.CareerIconColored, ResourceUtils.ProductVersionToGroupId(ProductVersion.BaseGame)), ThumbnailSize.Medium);

            int num = 0;

            int.TryParse(split[1], out num);

            return(career.CareerName + " " + EAText.GetNumberString(num));
        }
Ejemplo n.º 24
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);
        }
Ejemplo n.º 25
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);
        }
Ejemplo n.º 26
0
        protected override bool PrivatePerform()
        {
            List <Item> choices = new List <Item>();

            foreach (GenericOptionBase.DefaultableOption choice in GetOptions())
            {
                ThumbnailKey icon = ThumbnailKey.kInvalidThumbnailKey;
                string       name = GetLocalizedValue(choice, ref icon);

                choices.Add(new Item(this, choice, name, icon));
            }

            CommonSelection <Item> .Results selection = new CommonSelection <Item>(Name, choices).SelectMultiple();

            Value.Clear();

            foreach (Item item in selection)
            {
                Value.Add(item.Value);
            }

            return(true);
        }
Ejemplo n.º 27
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);
        }
Ejemplo 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));
                }
        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);
        }
Ejemplo n.º 30
0
        private static void OnColorsSaved(Color[] colors)
        {
            try
            {
                CASMakeup ths = CASMakeup.gSingleton;
                if (ths == null) return;

                bool flag = false;
                bool flag2 = false;
                if (CASMakeup.sCategory != BodyTypes.CostumeMakeup)
                {
                    foreach (ItemGridCellItem item in ths.mGridMakeupPresets.Items)
                    {
                        flag2 = true;
                        ResourceKey mTag = (ResourceKey)item.mTag;
                        ColorInfo info = ColorInfo.FromResourceKey(mTag);
                        for (int i = 0x0; i < info.Colors.Length; i++)
                        {
                            Vector3 vector = CompositorUtil.ColorToVector3(colors[i]);
                            Vector3 v = CompositorUtil.ColorToVector3(info.Colors[i]);
                            if (!vector.IsSimilarTo(v))
                            {
                                flag2 = false;
                                break;
                            }
                        }
                        if (flag2)
                        {
                            break;
                        }
                    }

                    if (!flag2)
                    {
                        ColorInfo info2 = new ColorInfo();
                        info2.Usage = ColorInfo.PreferredUse.Makeup;
                        switch (CASMakeup.sCategory)
                        {
                            case BodyTypes.FirstFace:
                                info2.UsageSubCategory = ColorInfo.eUsageSubCategory.MakeupLipstick;
                                break;

                            case BodyTypes.EyeShadow:
                                info2.UsageSubCategory = ColorInfo.eUsageSubCategory.MakeupEyeshadow;
                                break;

                            case BodyTypes.EyeLiner:
                                info2.UsageSubCategory = ColorInfo.eUsageSubCategory.MakeupEyeliner;
                                break;

                            case BodyTypes.Blush:
                                info2.UsageSubCategory = ColorInfo.eUsageSubCategory.MakeupBlush;
                                break;
                        }
                        info2.Colors = colors;
                        flag = info2.SaveMakeupPreset(info2.UsageSubCategory) != ResourceKey.kInvalidResourceKey;
                        ths.PopulatePresetsGrid(CASMakeup.sCategory, ths.mCurrentPreset.mPart, ths.mButtonFilter.Selected);
                    }
                }
                else
                {
                    CASPart wornPart = ths.mCurrentPreset.mPart;

                    ObjectDesigner.SetCASPart(wornPart.Key);
                    Vector3[] makeupVectorColors = ths.GetMakeupVectorColors(wornPart);
                    uint num = CASUtils.PartDataNumPresets(wornPart.Key);
                    for (uint j = 0x0; j < num; j++)
                    {
                        KeyValuePair<string, Dictionary<string, Complate>> presetEntryFromPresetString = (KeyValuePair<string, Dictionary<string, Complate>>)SimBuilder.GetPresetEntryFromPresetString(CASUtils.PartDataGetPreset(wornPart.Key, j));
                        Vector3[] vectorArray2 = ths.GetMakeupVectorColors(presetEntryFromPresetString);
                        flag2 = true;
                        for (uint k = 0x0; k < vectorArray2.Length; k++)
                        {
                            if (!makeupVectorColors[k].IsSimilarTo(vectorArray2[k]))
                            {
                                flag2 = false;
                                break;
                            }
                        }
                        if (flag2)
                        {
                            break;
                        }
                    }

                    if (!flag2)
                    {
                        uint index = ObjectDesigner.AddDesignPreset(Responder.Instance.CASModel.GetDesignPreset(wornPart));
                        flag = index != uint.MaxValue;
                        CASClothingRow row = ths.FindRow(wornPart);
                        if (row != null)
                        {
                            row.CreateGridItems(true);
                            row.PopulateGrid(true);
                        }
                        ths.mButtonCostumeFilter.Tag = true;
                        ths.mContentTypeFilter.UpdateFilterButtonState();
                        ThumbnailKey key = new ThumbnailKey(wornPart.Key, (int)CASUtils.PartDataGetPresetId(wornPart.Key, index), (uint)wornPart.BodyType, (uint)wornPart.AgeGenderSpecies, ThumbnailSize.Large);
                        ThumbnailManager.InvalidateThumbnail(key);
                    }
                }

                if (flag)
                {
                    CASController.Singleton.ErrorMsg(CASErrorCode.SaveSuccess);
                }
                else if (flag2)
                {
                    Simulator.AddObject(new OneShotFunctionTask(delegate
                    {
                        string messageText = Responder.Instance.LocalizationModel.LocalizeString("Ui/Caption/CAS/Hair:SaveDuplicate", new object[0x0]);
                        SimpleMessageDialog.Show(null, messageText, ModalDialog.PauseMode.PauseTask, new Vector2(-1f, -1f), "ui_error", "ui_hardwindow_close");
                    }));
                }
                else
                {
                    CASController.Singleton.ErrorMsg(CASErrorCode.SaveFailed);
                }
            }
            catch (Exception e)
            {
                Common.Exception("OnColorsSaved", e);
            }
        }
Ejemplo n.º 31
0
 public CommonOptionItem(string name, int count, ThumbnailKey thumbnail)
     : this(name, count)
 {
     mThumbnail = thumbnail;
 }
Ejemplo n.º 32
0
 public void SetThumbnail(ResourceKey icon)
 {
     mThumbnail = new ThumbnailKey(icon, ThumbnailSize.Medium);
 }
Ejemplo n.º 33
0
 public void SetThumbnail(ThumbnailKey key)
 {
     mThumbnail = key;
 }
Ejemplo n.º 34
0
            public Item(BookData book, bool read)
                : base(book.Title, read ? 1 : 0)
            {
                mThumbnail = new ThumbnailKey(new ResourceKey((ulong)ResourceUtils.XorFoldHashString32("book_standard"), 0x1661233, 0x1), ThumbnailSize.Medium, ResourceUtils.HashString32(book.GeometryState), ResourceUtils.HashString32(book.MaterialState));

                mBook = book;
            }
Ejemplo n.º 35
0
 private bool AddCompositePartsGridItem(ResourceKey layoutKey, CASPartPreset preset, bool testValid)
 {
     WindowBase windowByExportID = UIManager.LoadLayout(layoutKey).GetWindowByExportID(0x1);
     if (windowByExportID == null)
     {
         return false;
     }
     CustomContentIcon childByID = windowByExportID.GetChildByID(0x23, true) as CustomContentIcon;
     childByID.ContentType = UIUtils.GetCustomContentType(preset.mPart.Key, preset.mPresetId);
     Window window = windowByExportID.GetChildByID(0x20, true) as Window;
     if (window != null)
     {
         ImageDrawable drawable = window.Drawable as ImageDrawable;
         if (drawable != null)
         {
             ThumbnailKey key = new ThumbnailKey(preset.mPart.Key, (preset.mPresetId != uint.MaxValue) ? ((int) preset.mPresetId) : 0xffffffff, (uint) preset.mPart.BodyType, (uint) preset.mPart.AgeGenderSpecies, ThumbnailSize.Large);
             drawable.Image = UIManager.GetCASThumbnailImage(key);
             window.Invalidate();
         }
     }
     windowByExportID.TooltipText = this.GetPartName(preset.mPart);
     bool flag = true;
     if (testValid)
     {
         flag = this.TestPresetValidity(preset);
         if (!flag)
         {
             this.mInvalidIds.Add(preset.mPresetId);
         }
     }
     else
     {
         flag = !this.mInvalidIds.Contains(preset.mPresetId);
     }
     if (!flag)
     {
         return false;
     }
     Window window2 = windowByExportID.GetChildByID(0x2a, true) as Window;
     window2.Visible = true;
     this.mTattooGrid.AddItem(new ItemGridCellItem(windowByExportID, preset));
     return true;
 }
Ejemplo n.º 36
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);
                }
            }
Ejemplo n.º 37
0
 public TestableOption(TStoreType value, string name, int count, ThumbnailKey key)
     : base(value, name, count, key)
 {
 }
Ejemplo n.º 38
0
 protected override string GetLocalizedValue(CASAgeGenderFlags value, ref ThumbnailKey icon)
 {
     return LocalizeValue(value.ToString());
 }
Ejemplo n.º 39
0
 public void ValidateThumbnail(ThumbnailKey thumbKey)
 {
     mHudModel.ValidateThumbnail(thumbKey);
 }
Ejemplo n.º 40
0
        public void OnWorldLoadFinished()
        {
            Dictionary<BookWrittenData, bool> existing = new Dictionary<BookWrittenData, bool>();

            foreach (BookWritten book in Sims3.Gameplay.Queries.GetObjects<BookWritten>())
            {
                BookWrittenData bookData = book.Data as BookWrittenData;
                if (bookData == null) continue;

                existing[bookData] = true;
            }

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

            foreach (SimDescription sim in SimListing.GetResidents(true).Values)
            {
                if (sim.SkillManager == null) continue;

                Writing skill = sim.SkillManager.GetSkill<Writing>(SkillNames.Writing);
                if (skill == null) continue;

                if (skill.WrittenBookDataList == null) continue;

                foreach (WrittenBookData book in skill.WrittenBookDataList.Values)
                {
                    book.Author = sim.FullName;

                    string id = book.Title + book.Author;

                    BookWrittenData bookData;
                    if (!BookData.BookWrittenDataList.TryGetValue(id, out bookData))
                    {
                        // Constructor auto-adds to dictionary
                        bookData = new BookWrittenData(book, true);
                    }

                    existing[bookData] = true;
                }
            }

            RemoveWrittenData("General");
            RemoveWrittenData("All");

            List<StoreItem> general = null, all = null;
            Bookstore.mItemDictionary.TryGetValue("General", out general);
            Bookstore.mItemDictionary.TryGetValue("All", out all);

            List<WorldType> worldTypes = new List<WorldType>();
            worldTypes.Add(GameUtils.GetCurrentWorldType());

            Writing stateSkill = new Writing();

            foreach (KeyValuePair<string,BookWrittenData> pair in BookData.BookWrittenDataList)
            {
                BookWrittenData data = pair.Value;

                if (!existing.ContainsKey(pair.Value))
                {
                    remove.Add(pair.Key);
                    continue;
                }
                else if ((string.IsNullOrEmpty(data.Title)) || (string.IsNullOrEmpty(data.Author)))
                {
                    remove.Add(pair.Key);
                    continue;
                }

                string geoState, materialState;
                stateSkill.GetGeoAndMaterialStates(data.Genre, out geoState, out materialState);

                if (string.IsNullOrEmpty(data.GeometryState))
                {
                    data.GeometryState = geoState;
                }

                if (string.IsNullOrEmpty(data.MaterialState))
                {
                    data.MaterialState = materialState;
                }

                ThumbnailKey thumb = new ThumbnailKey(new ResourceKey((ulong)ResourceUtils.XorFoldHashString32("book_standard"), 0x1661233, 0x1), ThumbnailSize.Medium, ResourceUtils.HashString32(data.GeometryState), ResourceUtils.HashString32(data.MaterialState));

                BookGeneralStoreItem item = new BookGeneralStoreItem(data.Title + " - " + data.Author, (float)data.Value, data, thumb, data.GenerateUIStoreItemID(), new CreateObjectCallback(CreateBookWrittenCallback), new ProcessObjectCallback(ProcessBookWrittenCallback), data.AllowedWorlds, worldTypes, data.Author, data.Title, data.Length, data.GenreString);

                general.Add(item);
                all.Add(item);
            }

            foreach (string id in remove)
            {
                BookData.BookWrittenDataList.Remove(id);

                BooterLogger.AddTrace("Removed: " + id);
            }
        }
Ejemplo n.º 41
0
 private bool AddPartsGridItem(ItemGrid catalog, ResourceKey layoutKey, CASPart part, ResourceKeyContentCategory contentType)
 {
     WindowBase windowByExportID = UIManager.LoadLayout(layoutKey).GetWindowByExportID(0x1);
     if (windowByExportID == null)
     {
         return false;
     }
     if (part.Key != this.kInvalidCASPart.Key)
     {
         Window childByID = windowByExportID.GetChildByID(0x20, true) as Window;
         if (childByID != null)
         {
             ImageDrawable drawable = childByID.Drawable as ImageDrawable;
             if (drawable != null)
             {
                 ThumbnailKey key = new ThumbnailKey(part.Key, (int) CASUtils.PartDataGetPresetId(part.Key, 0x0), (uint) part.BodyType, (uint) part.AgeGenderSpecies, ThumbnailSize.Large);
                 drawable.Image = UIManager.GetCASThumbnailImage(key);
                 childByID.Invalidate();
             }
         }
         CustomContentIcon icon = windowByExportID.GetChildByID(0x23, true) as CustomContentIcon;
         if (UIUtils.IsContentTypeDisabled(contentType))
         {
             return false;
         }
         if (UIUtils.IsCustomFiltered(contentType))
         {
             this.mFilterButton.Enabled = true;
         }
         else if (this.mFilter)
         {
             return false;
         }
         icon.ContentType = contentType;
         windowByExportID.TooltipText = this.GetPartName(part);
         if (Responder.Instance.CASModel.ActiveWardrobeContains(part))
         {
             WindowBase base3 = windowByExportID.GetChildByID(0x29, true);
             if (base3 != null)
             {
                 base3.Visible = true;
             }
         }
     }
     catalog.AddItem(new ItemGridCellItem(windowByExportID, part));
     return true;
 }
Ejemplo n.º 42
0
        private static bool ChangeLotTypeHelper(Lot lot, bool deleteInvalidObjects, LotType newType, CommercialLotSubType commercialSubType, ResidentialLotSubType residentialSubType)
        {
            List<GameObject> objects = null;

            if (newType == LotType.Commercial)
            {
                // Custom
                //objects = lot.GetObjects<GameObject>(new Predicate<GameObject>(EditTownModel.IsNotValidCommunityLotObject));

                if (commercialSubType == CommercialLotSubType.kEP10_Resort)
                {
                    foreach (RabbitHole hole in lot.GetObjects<RabbitHole>(new Predicate<RabbitHole>(EditTownModel.IsInvestable)))
                    {
                        objects.Add(hole);
                    }

                    if (lot.ResortManager == null)
                    {
                        lot.ResortManager = new ResortManager(lot);
                    }
                }
            }
            else
            {
                // Custom
                //objects = lot.GetObjects<GameObject>(new Predicate<GameObject>(EditTownModel.IsNotValidResidentialLotObject));
            }

            if ((objects != null) && (objects.Count > 0))
            {
                if (!deleteInvalidObjects)
                {
                    return false;
                }

                foreach (GameObject obj2 in objects)
                {
                    int num = 0;
                    bool flag = false;
                    while (obj2.ActorsUsingMe.Count > num)
                    {
                        Sim sim = obj2.ActorsUsingMe[num];
                        if (sim != null)
                        {
                            sim.SetObjectToReset();
                            sim.InteractionQueue.PurgeInteractions(obj2);
                            flag = true;
                        }
                        num++;
                    }
                    if (flag)
                    {
                        SpeedTrap.Sleep(0);
                    }
                    lot.RemoveObjectFromLot(obj2.ObjectId, true);
                    obj2.Destroy();
                }

                ThumbnailKey key = new ThumbnailKey(new ResourceKey(lot.LotId, 0x436fee4c, 0), ThumbnailSize.Large);
                ThumbnailManager.InvalidateThumbnail(key);
                EditTownModel.UpdateDirtyLotThumbnailsTask(true);
            }

            if (lot.CommercialLotSubType == CommercialLotSubType.kEP10_Resort)
            {
                foreach (IResortBuffetTable table in lot.GetObjects<IResortBuffetTable>())
                {
                    table.ClearTable();
                }
            }

            if (GameStates.IsEditTownState)
            {
                BinCommon.KickSimsOffLot(lot, true);
            }

            return true;
        }
Ejemplo n.º 43
0
            public override void ConfigureInteraction()
            {
                try
                {
                    mCareer = Actor.OccupationAsCareer;

                    mFinishTime = (SimClock.Hours24 + mCareer.CurLevel.DayLength) % 24;

                    InteractionIconKey = new ThumbnailKey(ResourceKey.CreatePNGKey(mCareer.DreamsAndPromisesIcon, 0x0), ThumbnailSize.Medium);
                    mCareer.SetTones(this);

                    StringDelegate delegate2;
                    if (((mCareer.LastTone != null) && mCareer.LastTone.ShouldAddTone(mCareer)) && mCareer.LastTone.Test(this, out delegate2))
                    {
                        CurrentTone = mCareer.LastTone;
                    }
                    if (mCareer.IsSpecialWorkTime)
                    {
                        TimeOfDayStage stage = new TimeOfDayStage(LocalizeString("WorkStage", new object[0x0]), mCareer.HourSpecialWorkTimeEnds, 24f);
                        Stages = new List<Stage>(new Stage[] { stage });
                    }
                    else
                    {
                        float maxDurationInHours = (mCareer.CurLevel.DayLength + Career.kNumHoursEarlyCanShowUpForWork) + mCareer.OvertimeHours;
                        WorkInRabbitHoleStage stage2 = new WorkInRabbitHoleStage(LocalizeString("WorkEndShiftStage", new object[0x0]), mFinishTime, maxDurationInHours, mCareer);
                        Stages = new List<Stage>(new Stage[] { stage2 });
                        ActiveStage = stage2;
                        if (Actor.TraitManager.HasElement(TraitNames.Workaholic))
                        {
                            foreach (CareerTone tone in mCareer.Tones)
                            {
                                if (tone is WorkHardTone)
                                {
                                    CurrentTone = tone;
                                    break;
                                }
                            }
                        }
                        else if (Actor.TraitManager.HasElement(TraitNames.Schmoozer))
                        {
                            foreach (CareerTone tone2 in mCareer.Tones)
                            {
                                if (tone2 is SuckUpToBossTone)
                                {
                                    CurrentTone = tone2;
                                    break;
                                }
                            }
                        }
                    }
                }
                catch (ResetException)
                {
                    throw;
                }
                catch (Exception e)
                {
                    Common.Exception(Actor, Target, e);
                }
            }
Ejemplo n.º 44
0
 private void SetPart(CASPart part, int index)
 {
     ImageDrawable drawable = this.mLayerThumbs[index].Drawable as ImageDrawable;
     if (drawable != null)
     {
         if (part.Key != this.kInvalidCASPart.Key)
         {
             this.mLayerButtons[index].Tag = part;
             ThumbnailKey key = new ThumbnailKey(part.Key, (int) CASUtils.PartDataGetPresetId(part.Key, 0x0), (uint) part.BodyType, (uint) part.AgeGenderSpecies, ThumbnailSize.Medium);
             drawable.Image = UIManager.GetCASThumbnailImage(key);
         }
         else
         {
             drawable.Image = null;
             this.mLayerButtons[index].Tag = null;
         }
         this.mLayerThumbs[index].Invalidate();
     }
 }
Ejemplo n.º 45
0
        public PartyPickerDialogEx(PartyType partyTypes, List<PhoneSimPicker.SimPickerInfo> sims, ThumbnailKey simThumb, bool isPartyAtHome, float curfewStart, float curfewEnd, float venueOpenTime, float venueCloseTime, ClothingType restrictClothingTypeTo, bool isHostFemale)
            : base(AdjustedTypes(partyTypes), sims, simThumb, isPartyAtHome, curfewStart, curfewEnd, venueOpenTime, venueCloseTime, restrictClothingTypeTo, isHostFemale)
        {
            mPartyTypeCombo.ValueList.Clear();

            if ((PartyType.kHouseParty & partyTypes) != PartyType.kNone)
            {
                if (isPartyAtHome)
                {
                    mPartyTypeCombo.ValueList.Add(Localization.LocalizeString("Ui/Caption/Party:House", new object[0]), PartyType.kHouseParty);
                }
                else
                {
                    mPartyTypeCombo.ValueList.Add(Localization.LocalizeString("Ui/Caption/Party:Street", new object[0]), PartyType.kHouseParty);
                }
            }
            if ((PartyType.kWedding & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Localization.LocalizeString("Ui/Caption/Party:Wedding", new object[0]), PartyType.kWedding);
            }
            if ((PartyType.kBirthday & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Localization.LocalizeString("Ui/Caption/Party:Birthday", new object[0]), PartyType.kBirthday);
            }
            if ((PartyType.kFuneral & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Localization.LocalizeString("Ui/Caption/Party:Funeral", new object[0]), PartyType.kFuneral);
            }
            if ((PartyType.kCampaign & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Localization.LocalizeString("Ui/Caption/Party:Campaign", new object[0]), PartyType.kCampaign);
            }
            if ((PartyType.kBachelorParty & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Localization.LocalizeString(isHostFemale, "Ui/Caption/Party:Bachelor", new object[0]), PartyType.kBachelorParty);
            }
            if ((PartyType.kTeenParty & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Localization.LocalizeString("Ui/Caption/Party:Teen", new object[0]), PartyType.kTeenParty);
            }
            if ((PartyType.kChildSlumberParty & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Localization.LocalizeString(isHostFemale, "Ui/Caption/Party:Slumber", new object[0]), PartyType.kChildSlumberParty);
            }
            if ((PartyType.kTeenSlumberParty & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Localization.LocalizeString(isHostFemale, "Ui/Caption/Party:Slumber", new object[0]), PartyType.kTeenSlumberParty);
            }
            if ((PartyType.kPoolParty & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Localization.LocalizeString(isHostFemale, "Ui/Caption/Party:Pool", new object[0]), PartyType.kPoolParty);
            }
            if ((PartyType.kFeastParty & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Localization.LocalizeString(isHostFemale, "Ui/Caption/Party:Feast", new object[0]), PartyType.kFeastParty);
            }
            if ((PartyType.kCostumeParty & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Localization.LocalizeString(isHostFemale, "Ui/Caption/Party:CostumeParty", new object[0]), PartyType.kCostumeParty);
            }
            if ((PartyType.kGiftGivingParty & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Localization.LocalizeString(isHostFemale, "Ui/Caption/Party:GiftGivingParty", new object[0]), PartyType.kGiftGivingParty);
            }
            if ((PartyType.kJuiceKeggerParty & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Localization.LocalizeString(isHostFemale, "Ui/Caption/Party:JuiceKegger", new object[0]), PartyType.kJuiceKeggerParty);
            }
            if ((PartyType.kTailgatingParty & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Common.Localize("PartyType:Tailgating", isHostFemale), PartyType.kTailgatingParty);
            }
            if ((PartyType.kBonfire & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Localization.LocalizeString(isHostFemale, "Ui/Caption/Party:Bonfire", new object[0]), PartyType.kBonfire);
            }
            if ((PartyType.kVideoGameLANParty & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Common.Localize("PartyType:LANParty", isHostFemale), PartyType.kVideoGameLANParty);
            }
            if ((PartyType.kMasqueradeBall & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Common.Localize("PartyType:MasqueradeBall", isHostFemale), PartyType.kMasqueradeBall);
            }
            if ((PartyType.kVictoryParty & partyTypes) != PartyType.kNone)
            {
                mPartyTypeCombo.ValueList.Add(Common.Localize("PartyType:VictoryParty", isHostFemale), PartyType.kVictoryParty);
            }

            mPartyTypeCombo.SelectionChange -= OnTypeChange;
            mPartyTypeCombo.SelectionChange += OnTypeChangeEx;

            mLeftArrow.Click -= OnArrowClick;
            mLeftArrow.Click += OnArrowClickEx;

            mRightArrow.Click -= OnArrowClick;
            mRightArrow.Click += OnArrowClickEx;

            Button button = mModalDialogWindow.GetChildByID(0x5ef6bd7, true) as Button;
            button.Click -= OnFilterClick;
            button.Click += OnFilterClickEx;

            button = mModalDialogWindow.GetChildByID(0x5ef6bd8, true) as Button;
            button.Click -= OnFilterClick;
            button.Click += OnFilterClickEx;

            mInviteesTable.ItemDoubleClicked -= OnGridDoubleClicked;
            mInviteesTable.ItemDoubleClicked += OnGridDoubleClickedEx;

            mSourceTable.ItemDoubleClicked -= OnGridDoubleClicked;
            mSourceTable.ItemDoubleClicked += OnGridDoubleClickedEx;
        }
Ejemplo n.º 46
0
 protected override string GetLocalizedValue(CASAgeGenderFlags value, ref ThumbnailKey icon)
 {
     return Common.LocalizeEAString("UI/Feedback/CAS:" + value);
 }
Ejemplo n.º 47
0
 public ValueSettingOption(TValue value, string name, int count, ThumbnailKey thumbnail)
     : base(name, count, thumbnail)
 {
     mValue = value;
 }
Ejemplo n.º 48
0
        public new static PartyInfo Show(PartyType partyTypes, List<PhoneSimPicker.SimPickerInfo> sims, ThumbnailKey simThumb, bool isPartyAtHome, float curfewStart, float curfewEnd, float venueOpenTime, float venueCloseTime, ClothingType restrictClothingTypeTo, bool isHostFemale)
        {
            int originalMax = kDefaultMaxAllowed;
            kDefaultMaxAllowed = int.MaxValue;

            try
            {
                using (PartyPickerDialogEx dialog = new PartyPickerDialogEx(partyTypes, sims, simThumb, isPartyAtHome, curfewStart, curfewEnd, venueOpenTime, venueCloseTime, restrictClothingTypeTo, isHostFemale))
                {
                    dialog.StartModal();
                    if (dialog.Result == null)
                    {
                        return null;
                    }
                    return dialog.Result;
                }
            }
            finally
            {
                kDefaultMaxAllowed = originalMax;
            }
        }