Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }