public override bool Test(Sim actor, Sim target, bool isAutonomous, ref GreyedOutTooltipCallback greyedOutTooltipCallback) { if (actor == null) { if (actor.SimDescription.ChildOrBelow) { return(false); } if (target.SimDescription.ChildOrBelow) { return(false); } if (target.LotHome == null) { return(false); } IMiniRelationship rel = target.SimDescription.GetMiniRelationship(actor.SimDescription.GetMiniSimDescription()); if (rel != null) { if (rel.AreFriends() || rel.AreRomantic()) { return(true); } } } return(false); }
public override bool Get(MiniSimDescription me, IMiniSimDescription actor, Dictionary <LongTermRelationshipTypes, string> results) { IMiniRelationship relation = me.GetMiniRelationship(actor); if (relation == null) { return(false); } LTRData data = LTRData.Get(relation.CurrentLTR); if (data != null) { results[relation.CurrentLTR] = data.GetName(me, actor); } return(true); }
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); }