protected bool RenameDivorcee(SimDescription sim) { string parentNames = null; List <SimDescription> parents = Relationships.GetParents(sim); if (parents.Count > 0) { object[] objParents = null; if (parents.Count == 2) { objParents = new object[] { parents[0], parents[1] }; } else { objParents = new object[] { parents[0] }; } parentNames = Common.Localize("RenameDivorcee:PromptParents", sim.IsFemale, objParents); } List <object> parameters = Stories.AddGenderNouns(sim); string text = StringInputDialog.Show(Common.Localize("RenameDivorcee:MenuName"), Common.Localize("RenameDivorcee:Prompt", sim.IsFemale, parameters.ToArray()) + parentNames, sim.LastName); if (string.IsNullOrEmpty(text)) { return(false); } sim.LastName = text; return(true); }
protected override bool PrivateUpdate(ScenarioFrame frame) { SimDescription mom = null, dad = null; Relationships.GetParents(Sim, out mom, out dad); bool wasEither; string lastName = null; if (mom != null) { lastName = GetData(mom).HandleName <BabyLastNameOption>(Sims, dad, out wasEither); } else if (dad != null) { lastName = GetData(dad).HandleName <BabyLastNameOption>(Sims, mom, out wasEither); } if (lastName != null) { Sim.LastName = lastName; } else if (((dad != null) && (RandomUtil.CoinFlip())) || (mom == null)) { Sim.LastName = dad.LastName; } else { Sim.LastName = mom.LastName; } if (GetValue <RenameNewbornOption, bool>(Sim)) { CASAgeGenderFlags parentGender = CASAgeGenderFlags.None; List <object> parameters = Stories.AddGenderNouns(Sim); string key = null; if (mom != null) { parentGender = mom.Gender; parameters.AddRange(Stories.AddGenderNouns(mom)); } if (dad != null) { if (parentGender == CASAgeGenderFlags.None) { parentGender = dad.Gender; } parameters.AddRange(Stories.AddGenderNouns(dad)); } if (mom != null) { if (dad != null) { key = "DuoPrompt"; } else { key = "SinglePrompt"; } } else if (dad != null) { key = "SinglePrompt"; } else { key = "Prompt"; } ManagerStory.AvailableStory story = new ManagerStory.AvailableStory(GetOption <Option>(), key, parameters.ToArray()); string text = StringInputDialog.Show(GetOption <Option>().Name, story.Localize(GetOption <Option>(), Sim.Gender, parentGender, parameters.ToArray()), Sim.FirstName, 256, StringInputDialog.Validation.None); if (string.IsNullOrEmpty(text)) { return(false); } Sim.FirstName = text; } if ((!SimTypes.IsSelectable(Sim)) && (GetValue <PromptToMoveNewbornOption, bool>())) { foreach (SimDescription parent in Relationships.GetParents(Sim)) { if (SimTypes.IsSelectable(parent)) { if (AcceptCancelDialog.Show(Common.Localize("PromptToMoveNewborn:Prompt", Sim.IsFemale, new object[] { Sim }))) { Sim.Household.Remove(Sim); parent.Household.Add(Sim); if (Sim.CreatedSim == null) { Instantiation.EnsureInstantiate(Sim, parent.LotHome); } } } } } return(true); }