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(); } }
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); }
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); }
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(); }
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); }
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); }
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); }
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(); } }