Ejemplo n.º 1
0
        public static void SetPartner(SimDescription ths, SimDescription x)
        {
            Common.StringBuilder msg = new Common.StringBuilder();

            try
            {
                if ((ths == null) || (x == null))
                {
                    return;
                }

                msg += "A";

                if (ths.Partner != x)
                {
                    if (x.IsMale)
                    {
                        ths.IncreaseGenderPreferenceMale();
                    }
                    else
                    {
                        ths.IncreaseGenderPreferenceFemale();
                    }

                    if (ths.IsMale)
                    {
                        x.IncreaseGenderPreferenceMale();
                    }
                    else
                    {
                        x.IncreaseGenderPreferenceFemale();
                    }

                    msg += "B";

                    if ((ths.Partner != null) && (ths.Partner != x))
                    {
                        ths.Partner.ClearPartner();
                    }
                    if ((x.Partner != null) && (x.Partner != ths))
                    {
                        x.ClearPartner();
                    }

                    msg += "C";

                    Relationship relationship = Relationship.Get(ths, x, true);
                    if (relationship != null)
                    {
                        // Must be able to create a relationship to set the Partner
                        ths.Partner = x;
                        x.Partner   = ths;

                        msg += "D";

                        InformationLearnedAboutSim info = relationship.InformationAbout(x);
                        if (info != null)
                        {
                            info.PartnerKnown = true;
                        }

                        info = relationship.InformationAbout(ths);
                        if (info != null)
                        {
                            info.PartnerKnown = true;
                        }
                    }

                    msg += "E";

                    if ((x.CreatedSim != null) && (x.TraitManager.HasElement(TraitNames.CommitmentIssues)))
                    {
                        ActiveTopic.AddToSim(x.CreatedSim, "Has Made Commitment");
                    }

                    msg += "F";

                    if ((ths.CreatedSim != null) && (ths.TraitManager.HasElement(TraitNames.CommitmentIssues)))
                    {
                        ActiveTopic.AddToSim(ths.CreatedSim, "Has Made Commitment");
                    }

                    msg += "G";
                }
            }
            catch (Exception e)
            {
                Common.Exception(ths, x, msg, e);
            }
        }
Ejemplo n.º 2
0
        public static void SetPartner(SimDescription ths, SimDescription x)
        {
            Common.StringBuilder msg = new Common.StringBuilder();

            try
            {
                if ((ths == null) || (x == null)) return;

                msg += "A";

                if (ths.Partner != x)
                {
                    if (x.IsMale)
                    {
                        ths.IncreaseGenderPreferenceMale();
                    }
                    else
                    {
                        ths.IncreaseGenderPreferenceFemale();
                    }

                    if (ths.IsMale)
                    {
                        x.IncreaseGenderPreferenceMale();
                    }
                    else
                    {
                        x.IncreaseGenderPreferenceFemale();
                    }

                    msg += "B";

                    if ((ths.Partner != null) && (ths.Partner != x))
                    {
                        ths.Partner.ClearPartner();
                    }
                    if ((x.Partner != null) && (x.Partner != ths))
                    {
                        x.ClearPartner();
                    }

                    msg += "C";

                    Relationship relationship = Relationship.Get(ths, x, true);
                    if (relationship != null)
                    {
                        // Must be able to create a relationship to set the Partner
                        ths.Partner = x;
                        x.Partner = ths;

                        msg += "D";

                        InformationLearnedAboutSim info = relationship.InformationAbout(x);
                        if (info != null)
                        {
                            info.PartnerKnown = true;
                        }

                        info = relationship.InformationAbout(ths);
                        if (info != null)
                        {
                            info.PartnerKnown = true;
                        }
                    }

                    msg += "E";

                    if ((x.CreatedSim != null) && (x.TraitManager.HasElement(TraitNames.CommitmentIssues)))
                    {
                        ActiveTopic.AddToSim(x.CreatedSim, "Has Made Commitment");
                    }

                    msg += "F";

                    if ((ths.CreatedSim != null) && (ths.TraitManager.HasElement(TraitNames.CommitmentIssues)))
                    {
                        ActiveTopic.AddToSim(ths.CreatedSim, "Has Made Commitment");
                    }

                    msg += "G";
                }
            }
            catch (Exception e)
            {
                Common.Exception(ths, x, msg, e);
            }
        }