Beispiel #1
0
            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);
        }