public static List <KnownInfo> GetKnownInfo(HudModel ths, IMiniSimDescription simDesc) { if ((ths.mSavedCurrentSim != null) && (ths.mSavedCurrentSim.SimDescription != null) && (simDesc != null)) { if (ths.mSavedCurrentSim.SimDescription == simDesc) { return(GetKnownInfoAboutSelf(ths, simDesc)); } if (simDesc is SimDescription) { if (ths.mSavedCurrentSim.SocialComponent != null) { foreach (Relationship relationship in ths.mSavedCurrentSim.SocialComponent.Relationships) { if (relationship == null) { continue; } SimDescription otherSimDescription = relationship.GetOtherSimDescription(ths.mSavedCurrentSim.SimDescription); if (otherSimDescription != simDesc) { continue; } InformationLearnedAboutSim learnedInfo = relationship.InformationAbout(otherSimDescription); return(GetKnownInfoList(ths, otherSimDescription, learnedInfo)); } } } else { MiniSimDescription tsd = MiniSimDescription.Find(ths.mSavedCurrentSim.SimDescription.SimDescriptionId); if (tsd != null) { foreach (MiniRelationship relationship in tsd.MiniRelationships) { if (relationship == null) { continue; } if (relationship.SimDescriptionId != simDesc.SimDescriptionId) { continue; } MiniSimDescription otherTsd = MiniSimDescription.Find(relationship.SimDescriptionId); return(relationship.GetKnownInfo(tsd, otherTsd)); } } } } return(new List <KnownInfo>()); }
public new static void DoAcceptReject(Sim actor, Sim target, Sim.GiveGift inst) { GameObject gift = inst.Gift; string message = ""; string stingName = null; if (inst.RejectFromSpoiled) { if (DoesSimAlreadyOwnObject(target, gift)) { message = GiveGiftLocalizeString(target.IsFemale, "SpoiledAlreadyHave", new object[0x0]); } else { message = GiveGiftLocalizeString(target.IsFemale, "SpoiledTooCheap", new object[0x0]); } InteractionInstance instance = Sim.GiveGiftTantrum.Singleton.CreateInstance(target, target, target.InheritedPriority(), false, true); target.InteractionQueue.PushAsContinuation(instance, true); } else { Relationship relationship = actor.GetRelationship(target, false); float liking = relationship.LTR.Liking; float num2 = 0f; List <TraitNames> randomList = new List <TraitNames>(); TraitNames unknown = TraitNames.Unknown; GiveGiftTraitData data = null; InformationLearnedAboutSim sim = relationship.InformationAbout(target); foreach (Trait trait in target.TraitManager.List) { if (sTraitToTraitDataMap.TryGetValue(trait.Guid, out data) && data.DoesTraitCareAboutObject(gift)) { randomList.Add(trait.Guid); num2 += data.Score; if ((unknown == TraitNames.Unknown) && !sim.KnowsTrait(trait.Guid)) { unknown = trait.Guid; } } } if (randomList.Count > 0x0) { if (unknown == TraitNames.Unknown) { unknown = RandomUtil.GetRandomObjectFromList <TraitNames>(randomList); } else { sim.LearnTrait(unknown, actor.SimDescription, target.SimDescription); } message = sTraitToTraitDataMap[unknown].GetTNS(target); } float num3 = liking + num2; if (num3 >= Sim.GiveGiftTuning.kLTRToAcceptGift) { stingName = "sting_give_gift_accept"; if (num3 >= Sim.GiveGiftTuning.kLTRToSuperAcceptGift) { message = GiveGiftLocalizeString(target.IsFemale, "UberAcceptGiftTNS", new object[0x0]); stingName = "sting_give_gift_accept_super"; } else if (liking >= Sim.GiveGiftTuning.kLTRToAcceptGift) { message = GiveGiftLocalizeString(target.IsFemale, "AcceptGiftTNS", new object[0x0]); } TransferGiftFromActorToTarget(actor, target, gift); } else { if (liking < Sim.GiveGiftTuning.kLTRToAcceptGift) { message = GiveGiftLocalizeString(target.IsFemale, "RejectGiftTNS", new object[0x0]); } EventTracker.SendEvent(new SocialEvent(EventTypeId.kSocialInteraction, actor, target, "PillowFight", false, false, false, CommodityTypes.Undefined)); } } if (stingName != null) { actor.ShowTNSAndPlayStingIfSelectable(message, StyledNotification.NotificationStyle.kSimTalking, target.ObjectId, gift.ObjectId, stingName); } else { actor.ShowTNSIfSelectable(message, StyledNotification.NotificationStyle.kSimTalking, target.ObjectId, gift.ObjectId); } }
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 List<KnownInfo> GetKnownInfoList(HudModel ths, SimDescription otherSimDesc, InformationLearnedAboutSim learnedInfo) { List<KnownInfo> list = new List<KnownInfo>(); Common.StringBuilder msg = new Common.StringBuilder("GetKnownInfoList" + Common.NewLine); try { if (otherSimDesc != null) { bool isHuman = otherSimDesc.IsHuman; bool isTeen = (otherSimDesc.Age & CASAgeGenderFlags.Teen) != CASAgeGenderFlags.None; bool isChild = (otherSimDesc.Age & CASAgeGenderFlags.Child) != CASAgeGenderFlags.None; string str = Localization.LocalizeString("Ui/Caption/HUD/RelationshipsPanel:UnknownTrait", new object[0x0]); msg += "A"; foreach (Trait trait in otherSimDesc.TraitManager.List) { if (!trait.IsVisible || !Localization.HasLocalizationString(trait.TraitNameInfo)) { continue; } bool flag4 = false; foreach (TraitNames names in learnedInfo.Traits) { if (trait.Guid == names) { list.Add(new KnownInfo(trait.TraitName(otherSimDesc.IsFemale), trait.IconKey, KnownInfoType.Trait)); flag4 = true; break; } } if (!flag4) { list.Add(new KnownInfo(str, ResourceKey.CreatePNGKey("trait_unknown", 0x0), KnownInfoType.TraitUnknown)); } } msg += "B"; if ((isHuman && learnedInfo.CareerKnown) && !isChild) { bool flag5 = false; WorldName currentWorld = GameUtils.GetCurrentWorld(); if ((otherSimDesc.HomeWorld != currentWorld) && (GameUtils.GetWorldType(currentWorld) == WorldType.Vacation)) { MiniSimDescription description = MiniSimDescription.Find(otherSimDesc.SimDescriptionId); if (description != null) { ResourceKey iconKey = string.IsNullOrEmpty(description.JobIcon) ? ResourceKey.kInvalidResourceKey : ResourceKey.CreatePNGKey(description.JobIcon, 0x0); list.Add(new KnownInfo(Localization.LocalizeString(description.IsFemale, description.JobOrServiceName, new object[0x0]), iconKey, KnownInfoType.Career)); flag5 = true; } } msg += "C"; if (!flag5) { CareerManager careerManager = otherSimDesc.CareerManager; if ((careerManager != null) && (careerManager.Occupation != null)) { msg += "C1"; Occupation occupation = careerManager.Occupation; string careerIcon = occupation.CareerIcon; ResourceKey key2 = string.IsNullOrEmpty(careerIcon) ? ResourceKey.kInvalidResourceKey : ResourceKey.CreatePNGKey(careerIcon, 0x0); KnownInfoType type = occupation.IsAcademicCareer ? KnownInfoType.AcademicCareer : KnownInfoType.Career; list.Add(new KnownInfo(occupation.CurLevelJobTitle, key2, type)); } else if ((otherSimDesc.CreatedByService != null) && Sims3.Gameplay.Services.Services.IsSimDescriptionInAnyServicePool(otherSimDesc)) { string str4 = Localization.LocalizeString(otherSimDesc.IsFemale, "Gameplay/Services/Title:" + otherSimDesc.CreatedByService.ServiceType.ToString(), new object[0x0]); list.Add(new KnownInfo(str4, ResourceKey.kInvalidResourceKey, KnownInfoType.Career)); } else if ((otherSimDesc.AssignedRole != null) && !string.IsNullOrEmpty(otherSimDesc.AssignedRole.CareerTitleKey)) { list.Add(new KnownInfo(Localization.LocalizeString(otherSimDesc.IsFemale, otherSimDesc.AssignedRole.CareerTitleKey, new object[0x0]), ResourceKey.kInvalidResourceKey, KnownInfoType.Career)); } else if (((careerManager != null) && (careerManager.Occupation == null)) && (careerManager.RetiredCareer != null)) { list.Add(new KnownInfo(Localization.LocalizeString("Ui/Caption/HUD/Career:Retired", new object[0x0]), ResourceKey.CreatePNGKey(careerManager.RetiredCareer.CareerIcon, 0x0), KnownInfoType.Career)); } else { list.Add(new KnownInfo(Localization.LocalizeString(otherSimDesc.IsFemale, "Ui/Caption/HUD/KnownInfoDialog:Unemployed", new object[0x0]), ResourceKey.kInvalidResourceKey, KnownInfoType.Career)); } } } msg += "D"; if (learnedInfo.PartnerKnown) { string firstName = null; ResourceKey relationshipImageKey = ResourceKey.kInvalidResourceKey; if (otherSimDesc.Partner != null) { msg += "D1"; firstName = otherSimDesc.Partner.FirstName; // Custom : false -> true Relationship relationship = otherSimDesc.GetRelationship(otherSimDesc.Partner, true); if (relationship != null) { relationshipImageKey = RelationshipFunctions.GetLTRRelationshipImageKey(relationship.LTR.CurrentLTR, relationship.IsPetToPetRelationship); } } else { msg += "D2"; if (otherSimDesc.HomeWorld != GameUtils.GetCurrentWorld()) { MiniSimDescription description2 = MiniSimDescription.Find(otherSimDesc.SimDescriptionId); if ((description2 != null) && (description2.PartnerId != 0x0L)) { MiniSimDescription otherSim = MiniSimDescription.Find(description2.PartnerId); if (otherSim != null) { firstName = otherSim.FirstName; MiniRelationship miniRelationship = description2.GetMiniRelationship(otherSim) as MiniRelationship; if (miniRelationship != null) { relationshipImageKey = RelationshipFunctions.GetLTRRelationshipImageKey(miniRelationship.CurrentLTR, miniRelationship.IsPetToPetRelationship); } } } } if (string.IsNullOrEmpty(firstName)) { firstName = Localization.LocalizeString("Ui/Caption/HUD/KnownInfoDialog:None", new object[0x0]); } } list.Add(new KnownInfo(firstName, relationshipImageKey, KnownInfoType.Partner)); } msg += "E"; if ((isHuman && (isTeen || isChild)) && ((otherSimDesc.CareerManager != null) && (otherSimDesc.CareerManager.School != null))) { list.Add(new KnownInfo(otherSimDesc.CareerManager.School.Name, ResourceKey.CreatePNGKey(otherSimDesc.CareerManager.School.CareerIcon, 0x0), KnownInfoType.School)); } if (learnedInfo.IsRichAndKnownToBeRich) { list.Add(new KnownInfo(Localization.LocalizeString(otherSimDesc.IsFemale, "Ui/Caption/HUD/KnownInfoDialog:IsRich", new object[0x0]), ResourceKey.CreatePNGKey("w_simoleon_32", 0x0), KnownInfoType.Rich)); } if (isHuman && learnedInfo.SignKnown) { Zodiac zodiac = otherSimDesc.Zodiac; list.Add(new KnownInfo(Localization.LocalizeString(otherSimDesc.IsFemale, "Ui/Caption/HUD/KnownInfoDialog:" + zodiac.ToString(), new object[0x0]), ResourceKey.CreatePNGKey("sign_" + zodiac.ToString() + "_sm", 0x0), KnownInfoType.Zodiac)); } if (isHuman && learnedInfo.AlmaMaterKnown) { if (otherSimDesc.AlmaMater != AlmaMater.None) { list.Add(new KnownInfo(otherSimDesc.AlmaMaterName, ResourceKey.CreatePNGKey("w_simple_school_career_s", 0), KnownInfoType.AlmaMater)); } if (((otherSimDesc.CareerManager != null) && (otherSimDesc.CareerManager.DegreeManager != null)) && (otherSimDesc.CareerManager.DegreeManager.GetDegreeEntries().Count > 0)) { list.Add(new KnownInfo(Localization.LocalizeString("Ui/Caption/HUD/KnownInfoTooltip:UniversityAlmaMater", new object[0]), ResourceKey.CreatePNGKey("moodlet_just_graduated", ResourceUtils.ProductVersionToGroupId(ProductVersion.EP9)), KnownInfoType.AlmaMater)); } } msg += "G"; uint celebrityLevel = otherSimDesc.CelebrityLevel; if (celebrityLevel > 0x0) { KnownInfo item = new KnownInfo(otherSimDesc.CelebrityManager.LevelName, ResourceKey.CreatePNGKey("hud_i_celebrity_page", 0x0), KnownInfoType.CelebrityLevel); item.mCelebrityLevel = celebrityLevel; list.Add(item); } msg += "H"; if (learnedInfo.IsSocialGroupsKnown) { TraitManager traitManager = otherSimDesc.TraitManager; SkillManager skillManager = otherSimDesc.SkillManager; if ((traitManager != null) && (skillManager != null)) { if (traitManager.HasElement(TraitNames.InfluenceNerd)) { InfluenceSkill skill = skillManager.GetSkill<InfluenceSkill>(SkillNames.InfluenceNerd); if ((skill != null) && (skill.SkillLevel > 0)) { list.Add(new KnownInfo(string.Concat(new object[] { Localization.LocalizeString("Ui/Tooltips/SocialGroup:Nerd", new object[0]), "(", skill.SkillLevel, ")" }), ResourceKey.CreatePNGKey("trait_SocialGroup01_s", ResourceUtils.ProductVersionToGroupId(ProductVersion.EP9)), KnownInfoType.SocialGroup)); } } if (traitManager.HasElement(TraitNames.InfluenceSocialite)) { InfluenceSkill skill2 = skillManager.GetSkill<InfluenceSkill>(SkillNames.InfluenceSocialite); if ((skill2 != null) && (skill2.SkillLevel > 0)) { list.Add(new KnownInfo(string.Concat(new object[] { Localization.LocalizeString("Ui/Tooltips/SocialGroup:Jock", new object[0]), "(", skill2.SkillLevel, ")" }), ResourceKey.CreatePNGKey("trait_SocialGroup03_s", ResourceUtils.ProductVersionToGroupId(ProductVersion.EP9)), KnownInfoType.SocialGroup)); } } if (traitManager.HasElement(TraitNames.InfluenceRebel)) { InfluenceSkill skill3 = skillManager.GetSkill<InfluenceSkill>(SkillNames.InfluenceRebel); if ((skill3 != null) && (skill3.SkillLevel > 0)) { list.Add(new KnownInfo(string.Concat(new object[] { Localization.LocalizeString("Ui/Tooltips/SocialGroup:Rebel", new object[0]), "(", skill3.SkillLevel, ")" }), ResourceKey.CreatePNGKey("trait_SocialGroup02_s", ResourceUtils.ProductVersionToGroupId(ProductVersion.EP9)), KnownInfoType.SocialGroup)); } } } } msg += "I"; if (learnedInfo.NumDegreesKnown() > 0) { KnownInfo info2 = new KnownInfo("", ResourceKey.kInvalidResourceKey, KnownInfoType.Degree); otherSimDesc.CareerManager.DegreeManager.GetCompletedDegreeEntries(); foreach (AcademicDegreeNames names2 in learnedInfo.Degrees) { AcademicDegree element = otherSimDesc.CareerManager.DegreeManager.GetElement(names2); if ((element != null) && element.IsDegreeCompleted) { if (info2.mDegreeIcons.Count == 5) { list.Add(info2); info2 = new KnownInfo("", ResourceKey.kInvalidResourceKey, KnownInfoType.Degree); } ResourceKey key4 = ResourceKey.CreatePNGKey(element.DegreeIcon, 0); info2.mDegreeIcons.Add(key4); info2.mIconKey = key4; info2.mInfo = element.DegreeName; } } list.Add(info2); } } } catch (Exception e) { Common.Exception(otherSimDesc, null, msg, e); } return list; }
public static List <KnownInfo> GetKnownInfoList(HudModel ths, SimDescription otherSimDesc, InformationLearnedAboutSim learnedInfo) { List <KnownInfo> list = new List <KnownInfo>(); Common.StringBuilder msg = new Common.StringBuilder("GetKnownInfoList" + Common.NewLine); try { if (otherSimDesc != null) { bool isHuman = otherSimDesc.IsHuman; bool isTeen = (otherSimDesc.Age & CASAgeGenderFlags.Teen) != CASAgeGenderFlags.None; bool isChild = (otherSimDesc.Age & CASAgeGenderFlags.Child) != CASAgeGenderFlags.None; string str = Localization.LocalizeString("Ui/Caption/HUD/RelationshipsPanel:UnknownTrait", new object[0x0]); msg += "A"; foreach (Trait trait in otherSimDesc.TraitManager.List) { if (!trait.IsVisible || !Localization.HasLocalizationString(trait.TraitNameInfo)) { continue; } bool flag4 = false; foreach (TraitNames names in learnedInfo.Traits) { if (trait.Guid == names) { list.Add(new KnownInfo(trait.TraitName(otherSimDesc.IsFemale), trait.IconKey, KnownInfoType.Trait)); flag4 = true; break; } } if (!flag4) { list.Add(new KnownInfo(str, ResourceKey.CreatePNGKey("trait_unknown", 0x0), KnownInfoType.TraitUnknown)); } } msg += "B"; if ((isHuman && learnedInfo.CareerKnown) && !isChild) { bool flag5 = false; WorldName currentWorld = GameUtils.GetCurrentWorld(); if ((otherSimDesc.HomeWorld != currentWorld) && (GameUtils.GetWorldType(currentWorld) == WorldType.Vacation)) { MiniSimDescription description = MiniSimDescription.Find(otherSimDesc.SimDescriptionId); if (description != null) { ResourceKey iconKey = string.IsNullOrEmpty(description.JobIcon) ? ResourceKey.kInvalidResourceKey : ResourceKey.CreatePNGKey(description.JobIcon, 0x0); list.Add(new KnownInfo(Localization.LocalizeString(description.IsFemale, description.JobOrServiceName, new object[0x0]), iconKey, KnownInfoType.Career)); flag5 = true; } } msg += "C"; if (!flag5) { CareerManager careerManager = otherSimDesc.CareerManager; if ((careerManager != null) && (careerManager.Occupation != null)) { msg += "C1"; Occupation occupation = careerManager.Occupation; string careerIcon = occupation.CareerIcon; ResourceKey key2 = string.IsNullOrEmpty(careerIcon) ? ResourceKey.kInvalidResourceKey : ResourceKey.CreatePNGKey(careerIcon, 0x0); KnownInfoType type = occupation.IsAcademicCareer ? KnownInfoType.AcademicCareer : KnownInfoType.Career; list.Add(new KnownInfo(occupation.CurLevelJobTitle, key2, type)); } else if ((otherSimDesc.CreatedByService != null) && Sims3.Gameplay.Services.Services.IsSimDescriptionInAnyServicePool(otherSimDesc)) { string str4 = Localization.LocalizeString(otherSimDesc.IsFemale, "Gameplay/Services/Title:" + otherSimDesc.CreatedByService.ServiceType.ToString(), new object[0x0]); list.Add(new KnownInfo(str4, ResourceKey.kInvalidResourceKey, KnownInfoType.Career)); } else if ((otherSimDesc.AssignedRole != null) && !string.IsNullOrEmpty(otherSimDesc.AssignedRole.CareerTitleKey)) { list.Add(new KnownInfo(Localization.LocalizeString(otherSimDesc.IsFemale, otherSimDesc.AssignedRole.CareerTitleKey, new object[0x0]), ResourceKey.kInvalidResourceKey, KnownInfoType.Career)); } else if (((careerManager != null) && (careerManager.Occupation == null)) && (careerManager.RetiredCareer != null)) { list.Add(new KnownInfo(Localization.LocalizeString("Ui/Caption/HUD/Career:Retired", new object[0x0]), ResourceKey.CreatePNGKey(careerManager.RetiredCareer.CareerIcon, 0x0), KnownInfoType.Career)); } else { list.Add(new KnownInfo(Localization.LocalizeString(otherSimDesc.IsFemale, "Ui/Caption/HUD/KnownInfoDialog:Unemployed", new object[0x0]), ResourceKey.kInvalidResourceKey, KnownInfoType.Career)); } } } msg += "D"; if (learnedInfo.PartnerKnown) { string firstName = null; ResourceKey relationshipImageKey = ResourceKey.kInvalidResourceKey; if (otherSimDesc.Partner != null) { msg += "D1"; firstName = otherSimDesc.Partner.FirstName; // Custom : false -> true Relationship relationship = otherSimDesc.GetRelationship(otherSimDesc.Partner, true); if (relationship != null) { relationshipImageKey = RelationshipFunctions.GetLTRRelationshipImageKey(relationship.LTR.CurrentLTR, relationship.IsPetToPetRelationship); } } else { msg += "D2"; if (otherSimDesc.HomeWorld != GameUtils.GetCurrentWorld()) { MiniSimDescription description2 = MiniSimDescription.Find(otherSimDesc.SimDescriptionId); if ((description2 != null) && (description2.PartnerId != 0x0L)) { MiniSimDescription otherSim = MiniSimDescription.Find(description2.PartnerId); if (otherSim != null) { firstName = otherSim.FirstName; MiniRelationship miniRelationship = description2.GetMiniRelationship(otherSim) as MiniRelationship; if (miniRelationship != null) { relationshipImageKey = RelationshipFunctions.GetLTRRelationshipImageKey(miniRelationship.CurrentLTR, miniRelationship.IsPetToPetRelationship); } } } } if (string.IsNullOrEmpty(firstName)) { firstName = Localization.LocalizeString("Ui/Caption/HUD/KnownInfoDialog:None", new object[0x0]); } } list.Add(new KnownInfo(firstName, relationshipImageKey, KnownInfoType.Partner)); } msg += "E"; if ((isHuman && (isTeen || isChild)) && ((otherSimDesc.CareerManager != null) && (otherSimDesc.CareerManager.School != null))) { list.Add(new KnownInfo(otherSimDesc.CareerManager.School.Name, ResourceKey.CreatePNGKey(otherSimDesc.CareerManager.School.CareerIcon, 0x0), KnownInfoType.School)); } if (learnedInfo.IsRichAndKnownToBeRich) { list.Add(new KnownInfo(Localization.LocalizeString(otherSimDesc.IsFemale, "Ui/Caption/HUD/KnownInfoDialog:IsRich", new object[0x0]), ResourceKey.CreatePNGKey("w_simoleon_32", 0x0), KnownInfoType.Rich)); } if (isHuman && learnedInfo.SignKnown) { Zodiac zodiac = otherSimDesc.Zodiac; list.Add(new KnownInfo(Localization.LocalizeString(otherSimDesc.IsFemale, "Ui/Caption/HUD/KnownInfoDialog:" + zodiac.ToString(), new object[0x0]), ResourceKey.CreatePNGKey("sign_" + zodiac.ToString() + "_sm", 0x0), KnownInfoType.Zodiac)); } if (isHuman && learnedInfo.AlmaMaterKnown) { if (otherSimDesc.AlmaMater != AlmaMater.None) { list.Add(new KnownInfo(otherSimDesc.AlmaMaterName, ResourceKey.CreatePNGKey("w_simple_school_career_s", 0), KnownInfoType.AlmaMater)); } if (((otherSimDesc.CareerManager != null) && (otherSimDesc.CareerManager.DegreeManager != null)) && (otherSimDesc.CareerManager.DegreeManager.GetDegreeEntries().Count > 0)) { list.Add(new KnownInfo(Localization.LocalizeString("Ui/Caption/HUD/KnownInfoTooltip:UniversityAlmaMater", new object[0]), ResourceKey.CreatePNGKey("moodlet_just_graduated", ResourceUtils.ProductVersionToGroupId(ProductVersion.EP9)), KnownInfoType.AlmaMater)); } } msg += "G"; uint celebrityLevel = otherSimDesc.CelebrityLevel; if (celebrityLevel > 0x0) { KnownInfo item = new KnownInfo(otherSimDesc.CelebrityManager.LevelName, ResourceKey.CreatePNGKey("hud_i_celebrity_page", 0x0), KnownInfoType.CelebrityLevel); item.mCelebrityLevel = celebrityLevel; list.Add(item); } msg += "H"; if (learnedInfo.IsSocialGroupsKnown) { TraitManager traitManager = otherSimDesc.TraitManager; SkillManager skillManager = otherSimDesc.SkillManager; if ((traitManager != null) && (skillManager != null)) { if (traitManager.HasElement(TraitNames.InfluenceNerd)) { InfluenceSkill skill = skillManager.GetSkill <InfluenceSkill>(SkillNames.InfluenceNerd); if ((skill != null) && (skill.SkillLevel > 0)) { list.Add(new KnownInfo(string.Concat(new object[] { Localization.LocalizeString("Ui/Tooltips/SocialGroup:Nerd", new object[0]), "(", skill.SkillLevel, ")" }), ResourceKey.CreatePNGKey("trait_SocialGroup01_s", ResourceUtils.ProductVersionToGroupId(ProductVersion.EP9)), KnownInfoType.SocialGroup)); } } if (traitManager.HasElement(TraitNames.InfluenceSocialite)) { InfluenceSkill skill2 = skillManager.GetSkill <InfluenceSkill>(SkillNames.InfluenceSocialite); if ((skill2 != null) && (skill2.SkillLevel > 0)) { list.Add(new KnownInfo(string.Concat(new object[] { Localization.LocalizeString("Ui/Tooltips/SocialGroup:Jock", new object[0]), "(", skill2.SkillLevel, ")" }), ResourceKey.CreatePNGKey("trait_SocialGroup03_s", ResourceUtils.ProductVersionToGroupId(ProductVersion.EP9)), KnownInfoType.SocialGroup)); } } if (traitManager.HasElement(TraitNames.InfluenceRebel)) { InfluenceSkill skill3 = skillManager.GetSkill <InfluenceSkill>(SkillNames.InfluenceRebel); if ((skill3 != null) && (skill3.SkillLevel > 0)) { list.Add(new KnownInfo(string.Concat(new object[] { Localization.LocalizeString("Ui/Tooltips/SocialGroup:Rebel", new object[0]), "(", skill3.SkillLevel, ")" }), ResourceKey.CreatePNGKey("trait_SocialGroup02_s", ResourceUtils.ProductVersionToGroupId(ProductVersion.EP9)), KnownInfoType.SocialGroup)); } } } } msg += "I"; if (learnedInfo.NumDegreesKnown() > 0) { KnownInfo info2 = new KnownInfo("", ResourceKey.kInvalidResourceKey, KnownInfoType.Degree); otherSimDesc.CareerManager.DegreeManager.GetCompletedDegreeEntries(); foreach (AcademicDegreeNames names2 in learnedInfo.Degrees) { AcademicDegree element = otherSimDesc.CareerManager.DegreeManager.GetElement(names2); if ((element != null) && element.IsDegreeCompleted) { if (info2.mDegreeIcons.Count == 5) { list.Add(info2); info2 = new KnownInfo("", ResourceKey.kInvalidResourceKey, KnownInfoType.Degree); } ResourceKey key4 = ResourceKey.CreatePNGKey(element.DegreeIcon, 0); info2.mDegreeIcons.Add(key4); info2.mIconKey = key4; info2.mInfo = element.DegreeName; } } list.Add(info2); } } } catch (Exception e) { Common.Exception(otherSimDesc, null, msg, e); } return(list); }