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