Esempio n. 1
0
        private void OnGridDoubleClickedEx(TableContainer sender, TableRow row)
        {
            bool flag = false;

            if (sender.ID == 0x5ef6bd0)
            {
                PartyPickerRowController     rowController = row.RowController as PartyPickerRowController;
                PhoneSimPicker.SimPickerInfo item          = rowController.Info;
                mInvitees.Remove(item);
                mSims.Add(item);
                flag = true;
            }
            else if (mInviteesTable.NumberRows < mMaxGuests)
            {
                PartyPickerRowController controller2 = row.RowController as PartyPickerRowController;
                if (controller2.Enabled)
                {
                    PhoneSimPicker.SimPickerInfo info = controller2.Info;
                    mSims.Remove(info);
                    mInvitees.Add(info);
                    flag = true;
                }
            }
            if (flag)
            {
                Audio.StartSound("ui_panel_shift");
                mLeftArrow.Enabled  = false;
                mRightArrow.Enabled = false;
                UpdateSourceAvailability();
                RepopulateSourceTableEx();
                RepopulateTargetTableEx();
                ValidateParty();
            }
        }
Esempio n. 2
0
        public static List <PhoneSimPicker.SimPickerInfo> ReturnUnemployedSims(Sim sim, Lot lot, bool residentsOnly, List <SimDescription> workers)
        {
            List <PhoneSimPicker.SimPickerInfo> list = new List <PhoneSimPicker.SimPickerInfo>();

            //Create list of sims
            if (residentsOnly)
            {
                foreach (Household h in Household.GetHouseholdsLivingInWorld())
                {
                    foreach (SimDescription sd in h.SimDescriptions)
                    {
                        if (!sd.IsPet && sd.TeenOrAbove && sd.IsContactable)
                        {
                            list.Add(Phone.Call.CreateBasicPickerInfo(sim.SimDescription, sd));
                        }
                    }
                }
            }
            else
            {
                foreach (SimDescription sd in SimDescription.GetAll(SimDescription.Repository.Household))
                {
                    if (!sd.IsPet && sd.TeenOrAbove && sd.IsContactable)
                    {
                        list.Add(Phone.Call.CreateBasicPickerInfo(sim.SimDescription, sd));
                    }
                }
            }

            //Remove Employed Sims
            if (workers != null && workers.Count > 0)
            {
                foreach (SimDescription sd in workers)
                {
                    PhoneSimPicker.SimPickerInfo sp = Phone.Call.CreateBasicPickerInfo(sim.SimDescription, sd);
                    if (sp.SimDescription != null && ((SimDescription)sp.SimDescription).SimDescriptionId == sd.SimDescriptionId)
                    {
                        list.Remove(sp);
                    }
                }
            }

            return(list);
        }
Esempio n. 3
0
        public static List <PhoneSimPicker.SimPickerInfo> ShowHomelesSims(Sim sim, Lot lot, List <ApartmentFamily> families)
        {
            List <PhoneSimPicker.SimPickerInfo> list = new List <PhoneSimPicker.SimPickerInfo>();

            //Create list of sims
            if (lot.Household.SimDescriptions != null)
            {
                foreach (SimDescription s in lot.Household.SimDescriptions)
                {
                    list.Add(Phone.Call.CreateBasicPickerInfo(sim.SimDescription, s));
                }
            }

            if (lot.Household.PetSimDescriptions != null)
            {
                foreach (SimDescription s in lot.Household.PetSimDescriptions)
                {
                    list.Add(Phone.Call.CreateBasicPickerInfo(sim.SimDescription, s));
                }
            }

            //Find sims who are not in families
            if (list.Count > 0)
            {
                foreach (ApartmentFamily f in families)
                {
                    if (f.Residents != null)
                    {
                        foreach (SimDescription s in f.Residents)
                        {
                            //If sim in family remove from available sims
                            PhoneSimPicker.SimPickerInfo sp = Phone.Call.CreateBasicPickerInfo(sim.SimDescription, s);
                            if (((SimDescription)sp.SimDescription).SimDescriptionId == s.SimDescriptionId)
                            {
                                list.Remove(sp);
                            }
                        }
                    }
                }
            }

            return(list);
        }
Esempio n. 4
0
 private void OnArrowClickEx(WindowBase sender, UIButtonClickEventArgs eventArgs)
 {
     if (sender.ID == 0x5ef6bd4)
     {
         PartyPickerRowController     rowController = mInviteesTable.GetRow(mInviteesTable.SelectedItem).RowController as PartyPickerRowController;
         PhoneSimPicker.SimPickerInfo item          = rowController.Info;
         mInvitees.Remove(item);
         mSims.Add(item);
     }
     else
     {
         PartyPickerRowController     controller2 = mSourceTable.GetRow(mSourceTable.SelectedItem).RowController as PartyPickerRowController;
         PhoneSimPicker.SimPickerInfo info        = controller2.Info;
         mSims.Remove(info);
         mInvitees.Add(info);
     }
     UpdateSourceAvailability();
     mLeftArrow.Enabled  = false;
     mRightArrow.Enabled = false;
     RepopulateSourceTableEx();
     RepopulateTargetTableEx();
     ValidateParty();
 }
Esempio n. 5
0
        public List <PhoneSimPicker.SimPickerInfo> GetPickerInfo()
        {
            List <PhoneSimPicker.SimPickerInfo> sims = new List <PhoneSimPicker.SimPickerInfo>();

            if (mAddAll)
            {
                PhoneSimPicker.SimPickerInfo all = new PhoneSimPicker.SimPickerInfo();

                if (mLastFirst)
                {
                    all.FirstName = "";
                    all.LastName  = "(" + Common.LocalizeEAString("Ui/Caption/ObjectPicker:All") + ")";
                }
                else
                {
                    all.FirstName = "(" + Common.LocalizeEAString("Ui/Caption/ObjectPicker:All") + ")";
                    all.LastName  = "";
                }

                all.CoWorker                  = false;
                all.Thumbnail                 = new ThumbnailKey(ResourceKey.CreatePNGKey("shop_all_r2", ResourceUtils.ProductVersionToGroupId(ProductVersion.BaseGame)), ThumbnailSize.Large);
                all.RelationShip              = 0f;
                all.LtrType                   = LongTermRelationshipTypes.Stranger;
                all.Friend                    = false;
                all.RelationshipText          = "";
                all.RelationshipWithFirstName = mMe.FirstName;

                sims.Add(all);
            }

            foreach (T sim in All)
            {
                if (!AllowRow(sim))
                {
                    continue;
                }

                PhoneSimPicker.SimPickerInfo item = new PhoneSimPicker.SimPickerInfo();

                string firstName = null;
                string lastName  = null;
                GetName(sim, out firstName, out lastName);

                item.FirstName = firstName;
                item.LastName  = lastName;
                item.CoWorker  = false;

                IMiniRelationship relation = null;

                if (sim is SimDescription)
                {
                    SimDescription simDesc = sim as SimDescription;

                    if (simDesc.GetOutfit(OutfitCategories.Everyday, 0x0) != null)
                    {
                        try
                        {
                            item.Thumbnail = sim.GetThumbnailKey(ThumbnailSize.Large, 0);
                        }
                        catch
                        { }
                    }

                    if (mMe is SimDescription)
                    {
                        SimDescription meDesc = mMe as SimDescription;

                        relation = Relationship.Get(simDesc, meDesc, false);

                        if ((meDesc.CareerManager != null) && (meDesc.CareerManager.Occupation != null))
                        {
                            if (sim == meDesc.CareerManager.Occupation.Boss)
                            {
                                item.CoWorker = true;
                            }
                            else if (meDesc.CareerManager.Occupation.Coworkers != null)
                            {
                                foreach (SimDescription description2 in meDesc.CareerManager.Occupation.Coworkers)
                                {
                                    if (description2 == sim)
                                    {
                                        item.CoWorker = true;
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        relation = mMe.GetMiniRelationship(simDesc);
                    }
                }
                else
                {
                    try
                    {
                        item.Thumbnail = sim.GetThumbnailKey(ThumbnailSize.Large, 0);
                    }
                    catch
                    { }

                    relation = sim.GetMiniRelationship(mMe);
                }

                item.SimDescription = sim;

                if (sim == mMe)
                {
                    item.RelationShip = 100f;
                    item.LtrType      = LongTermRelationshipTypes.BestFriend;
                    item.Friend       = true;
                }
                else if (relation != null)
                {
                    item.RelationShip = relation.CurrentLTRLiking;
                    item.LtrType      = relation.CurrentLTR;
                    item.Friend       = relation.AreFriends() || relation.AreRomantic();
                }
                else
                {
                    item.RelationShip = 0f;
                    item.LtrType      = LongTermRelationshipTypes.Stranger;
                    item.Friend       = false;
                }

                item.RelationshipText          = LTRData.Get(item.LtrType).GetName(mMe, sim);
                item.RelationshipWithFirstName = mMe.FirstName;

                sims.Add(item);
            }

            return(sims);
        }
Esempio n. 6
0
        public override bool Run()
        {
            Definition interactionDefinition = base.InteractionDefinition as Definition;

            if (interactionDefinition.LockType != CommonDoor.tLock.OwnerList)
            {
                // eh, probably need to mash these into one interaction...
                if ((uint)interactionDefinition.LockType == 7)
                {
                    new InteractionOptionList <IDoorOption, GameObject> .AllList(GoHere.Localize("DoorOptions:MenuName"), false).Perform(new GameHitParameters <GameObject>(this.Actor, this.Target, GameObjectHit.NoHit));
                }
                else
                {
                    base.Target.SetLockTypeAndOwner(interactionDefinition.LockType, base.Actor.SimDescription);

                    GoHere.Settings.ClearActiveDoorFilters(base.Target.ObjectId);
                }
            }
            else
            {
                List <PhoneSimPicker.SimPickerInfo> collection = new List <PhoneSimPicker.SimPickerInfo>();
                foreach (Sim sim in LotManager.Actors)
                {
                    SimDescription description = sim.SimDescription;
                    if (!description.IsHorse && !description.IsDeer && !description.IsRaccoon)
                    {
                        PhoneSimPicker.SimPickerInfo item = CreateSimPickerInfo(base.Actor.SimDescription, description);
                        collection.Add(item);
                    }
                }
                List <PhoneSimPicker.SimPickerInfo> alreadySelectedSim = new List <PhoneSimPicker.SimPickerInfo>();
                switch (base.Target.LockType)
                {
                case CommonDoor.tLock.SelectedActor:
                    foreach (PhoneSimPicker.SimPickerInfo info3 in collection)
                    {
                        if (info3.SimDescription == base.Target.mLockOwner)
                        {
                            alreadySelectedSim.Add(info3);
                        }
                    }
                    break;

                case CommonDoor.tLock.SelectedHousehold:
                    foreach (PhoneSimPicker.SimPickerInfo info4 in collection)
                    {
                        if ((info4.SimDescription as SimDescription).Household == base.Target.mLockOwner.Household)
                        {
                            alreadySelectedSim.Add(info4);
                        }
                    }
                    break;

                case CommonDoor.tLock.Anybody:
                    alreadySelectedSim.AddRange(collection);
                    break;

                case CommonDoor.tLock.Pets:
                    foreach (PhoneSimPicker.SimPickerInfo info2 in collection)
                    {
                        if ((info2.SimDescription as SimDescription).IsPet)
                        {
                            alreadySelectedSim.Add(info2);
                        }
                    }
                    break;

                case CommonDoor.tLock.OwnerList:
                    foreach (PhoneSimPicker.SimPickerInfo info5 in collection)
                    {
                        if (base.Target.mOwnerList.Contains((info5.SimDescription as SimDescription).SimDescriptionId))
                        {
                            alreadySelectedSim.Add(info5);
                        }
                    }
                    break;
                }
                List <PhoneSimPicker.SimPickerInfo> list3 = DualPaneSimPicker.Show(collection, alreadySelectedSim, Localization.LocalizeString("Gameplay/Abstracts/Doors/Locking:CanOpen", new object[0]), Localization.LocalizeString("Gameplay/Abstracts/Doors/Locking:CannotOpen", new object[0]));
                if (list3 != null)
                {
                    base.Target.SetLockTypeOwnerList(list3.ConvertAll <SimDescription>(new Converter <PhoneSimPicker.SimPickerInfo, SimDescription>(CommonDoor.LockDoor.SimPickerInfoToSimDescription)));
                    GoHere.Settings.ClearActiveDoorFilters(base.Target.ObjectId);
                }
            }
            return(true);
        }
Esempio n. 7
0
        public static List <PhoneSimPicker.SimPickerInfo> ListOfAllSims(Sim me)
        {
            List <PhoneSimPicker.SimPickerInfo> sims = new List <PhoneSimPicker.SimPickerInfo>();

            List <Sim> list = new List <Sim>(Sims3.Gameplay.Queries.GetObjects <Sim>());

            foreach (Sim sim in list)
            {
                if (sim.LotCurrent != me.LotCurrent)
                {
                    continue;
                }

                if (!sim.SimDescription.TeenOrAbove)
                {
                    continue;
                }

                PhoneSimPicker.SimPickerInfo item = new PhoneSimPicker.SimPickerInfo();
                item.FirstName      = sim.SimDescription.LastName + ",";
                item.LastName       = sim.SimDescription.FirstName;
                item.Thumbnail      = sim.SimDescription.GetThumbnailKey(ThumbnailSize.Large, 0);
                item.SimDescription = sim.SimDescription;

                Relationship relation = Relationship.Get(sim.SimDescription, me.SimDescription, false);
                if (relation != null)
                {
                    item.RelationShip      = relation.LTR.Liking;
                    item.RelationshipImage = relation.LTR.CurrentLTR;
                    item.Friend            = relation.AreFriends();
                }
                else if (sim == me)
                {
                    item.RelationShip      = 100f;
                    item.RelationshipImage = "Best Friend";
                    item.Friend            = true;
                }
                else
                {
                    item.RelationShip      = 0f;
                    item.RelationshipImage = "Stranger";
                    item.Friend            = false;
                }

                item.RelationshipText          = LTRData.Get(item.RelationshipImage).GetName(me.SimDescription, sim.SimDescription);
                item.RelationshipWithFirstName = me.SimDescription.FirstName;

                item.CoWorker = false;
                if ((me.CareerManager != null) && (me.CareerManager.Job != null))
                {
                    if (sim.SimDescription == me.CareerManager.Job.Boss)
                    {
                        item.CoWorker = true;
                    }
                    else
                    {
                        foreach (SimDescription description2 in me.CareerManager.Job.Coworkers)
                        {
                            if (description2 == sim.SimDescription)
                            {
                                item.CoWorker = true;
                                break;
                            }
                        }
                    }
                }

                sims.Add(item);
            }

            return(sims);
        }
Esempio n. 8
0
        public EnrollmentDialogEx(SimDescription simDesc, IEnumerable <SimDescription> choices, bool infiniteFunds)
            : base(simDesc)
        {
            if (infiniteFunds)
            {
                mHouseholdFunds      = 1000000;
                mStartHouseholdFunds = 1000000;
            }

            if (mModalDialogWindow != null)
            {
                mLeftArrow.Click  -= OnArrowClick;
                mLeftArrow.Click  += OnArrowClickEx;
                mRightArrow.Click -= OnArrowClick;
                mRightArrow.Click += OnArrowClickEx;
                mSelectedTable.ItemDoubleClicked  -= OnGridDoubleClicked;
                mSelectedTable.ItemDoubleClicked  += OnGridDoubleClickedEx;
                mSourceTable.ItemDoubleClicked    -= OnGridDoubleClicked;
                mSourceTable.ItemDoubleClicked    += OnGridDoubleClickedEx;
                mSelectedTable.SelectionChanged   -= OnSelectionChanged;
                mSelectedTable.SelectionChanged   += OnSelectionChangedEx;
                mDegreeCombo.SelectionChange      -= OnDegreeChange;
                mDegreeCombo.SelectionChange      += OnDegreeChangeEx;
                mCourseLoadSldr.SliderValueChange -= OnCourseLoadSliderChanged;
                mCourseLoadSldr.SliderValueChange += OnCourseLoadSliderChangedEx;

                ILocalizationModel localizationModel = Responder.Instance.LocalizationModel;
                mCurrentActor = simDesc;
                mSims         = new List <PhoneSimPicker.SimPickerInfo>();
                mSelectedSims = new List <PhoneSimPicker.SimPickerInfo>();

                foreach (SimDescription description in choices)
                {
                    if (description.OccupationAsAcademicCareer != null)
                    {
                        continue;
                    }

                    PhoneSimPicker.SimPickerInfo item = CreateSimPickerInfo(simDesc, description);
                    mSims.Add(item);
                    if (description == simDesc)
                    {
                        mSelectedSims.Add(item);
                    }
                }

                mDegreeCombo.ValueList.Clear();

                List <AcademicDegreeStaticData> list = new List <AcademicDegreeStaticData>(AcademicDegreeManager.sDictionary.Values);
                list.Sort(OnSortByName);

                foreach (AcademicDegreeStaticData data in list)
                {
                    mDegreeCombo.ValueList.Add(data.DegreeName, data);
                }

                mSourceTable.Flush();
                mSelectedTable.Flush();
                RepopulateSourceTable();
                RepopulateSelectedSimTable();
                mSelectedTable.SelectedItem = 0;
                OnSelectionChangedEx(mSelectedTable, null);
                StartEnrollmentMusic();
            }
        }