Example #1
0
        protected override bool Run(SimDescription me, bool singleSelection)
        {
            if (!ApplyAll)
            {
                if (!AcceptCancelDialog.Show(Common.Localize("AgeTransition:Prompt", me.IsFemale, new object[] { me })))
                {
                    return(false);
                }
            }

            AgeTransitionTask.Perform(me.CreatedSim);
            return(true);
        }
Example #2
0
        protected override void PrivatePerformAction(bool prompt)
        {
            Overwatch.Log(Name);

            foreach (Sim createdSim in new List <Sim> (LotManager.Actors))
            {
                if (createdSim.SimDescription == null)
                {
                    continue;
                }

                StuckSimData other;
                if (!sData.TryGetValue(createdSim.SimDescription.SimDescriptionId, out other))
                {
                    other = new StuckSimData();

                    sData.Add(createdSim.SimDescription.SimDescriptionId, other);
                }

                try
                {
                    bool reset = false;

                    SimDescription sim = createdSim.SimDescription;

                    if (TestAging(sim, other))
                    {
                        reset = true;
                    }

                    if (reset)
                    {
                        string notice = Common.Localize(GetTitlePrefix() + ":" + other.Reason + "Two", sim.IsFemale, new object[] { sim });

                        if (other.mAgingSituation)
                        {
                            ResetSimTask.Perform(createdSim, true);
                            sData.Remove(sim.SimDescriptionId);
                        }
                        else
                        {
                            AgeTransitionTask.Perform(createdSim);
                        }

                        Overwatch.AlarmNotify(notice);

                        Overwatch.Log(notice);
                    }
                    else if (other.Valid)
                    {
                        if (Overwatch.Settings.mReportFirstResetCheck)
                        {
                            string notice = Common.Localize(GetTitlePrefix() + ":" + other.Reason + "One", sim.IsFemale, new object[] { sim });

                            Overwatch.Notify(createdSim, notice);

                            Overwatch.Log(notice);
                            Overwatch.Log(" Was Negative: " + other.mWasNegative);
                            Overwatch.Log(" Aging Situation: " + other.mAgingSituation);
                        }

                        if (other.mWasNegative)
                        {
                            AgeTransitionTask.Perform(createdSim);
                        }
                    }
                }
                catch (Exception e)
                {
                    Common.Exception(createdSim, e);
                }
            }
        }