Example #1
0
        protected override bool OnPerform()
        {
            CareerPanel panel = CareerPanel.sInstance;

            if (panel == null)
            {
                return(true);
            }

            Sim activeSim = Sim.ActiveActor;

            if (activeSim == null)
            {
                return(true);
            }

            if (panel.mPanelCategory == CareerPanelCategory.kAfterschoolActivity)
            {
                if ((panel.mCareerInfoWindow != null) && (panel.mCareerInfoWindow.Visible))
                {
                    if (activeSim.SimDescription.Child)
                    {
                        School school = activeSim.School;
                        if (school != null)
                        {
                            List <AfterschoolActivity> activities = school.AfterschoolActivities;
                            if ((activities != null) && (activities.Count == 1))
                            {
                                switch (activities[0].CurrentActivityType)
                                {
                                case AfterschoolActivityType.Ballet:
                                case AfterschoolActivityType.Scouts:
                                    break;

                                default:
                                    panel.mCurrentJobText.Caption     = AfterschoolActivity.LocalizeString(activeSim.IsFemale, activities[0].CurrentActivityType.ToString(), new object[0]);
                                    panel.mCurrentJobText.TooltipText = AfterschoolActivity.LocalizeString(activeSim.IsFemale, activities[0].CurrentActivityType.ToString() + "Description", new object[0]);
                                    break;
                                }
                            }
                        }
                    }
                }
            }

            return(true);
        }
Example #2
0
            public override void SetValue(AfterschoolActivityType value, AfterschoolActivityType storeType)
            {
                mValue = value;

                mName = AfterschoolActivity.LocalizeString(false, value.ToString(), new object[0]);
            }
Example #3
0
        public static bool AddNewActivity(SimDescription actor, AfterschoolActivityType activityType)
        {
            School school = actor.CareerManager.School;

            if (school.AfterschoolActivities == null)
            {
                school.AfterschoolActivities = new List <AfterschoolActivity>();
            }
            else if (AlreadyHasChildActivity(actor) || HasAfterschoolActivityOfType(actor, activityType))
            {
                return(false);
            }

            // Custom
            school.AfterschoolActivities.Add(AfterschoolActivityBooter.GetActivity(activityType).mActivity);

            string name = activityType.ToString();

            if (actor.CreatedSim != null)
            {
                actor.CreatedSim.ShowTNSIfSelectable(TNSNames.SignUpForAfterschoolActivityTNS, actor, null, null, actor.IsFemale, actor.IsFemale, new object[] { actor, AfterschoolActivity.LocalizeString(actor.IsFemale, name, new object[0x0]), AfterschoolActivity.LocalizeString(actor.IsFemale, name + "Description", new object[0x0]) });
                actor.CareerManager.UpdateCareerUI();
            }
            return(true);
        }
Example #4
0
        public static bool MeetsCommonAfterschoolActivityRequirements(SimDescription actor, AfterschoolActivityType activityToCheck, ref GreyedOutTooltipCallback greyedOutTooltipCallback)
        {
            bool teen = actor.Teen;

            if (!actor.Child && !teen)
            {
                return(false);
            }

            School school = actor.CareerManager.School;

            if (school == null)
            {
                return(false);
            }
            else if (actor.IsEnrolledInBoardingSchool())
            {
                return(false);
            }

            /*
             * else if (!AfterschoolActivity.WorldHasSchoolRabbitHole())
             * {
             *  return false;
             * }
             */
            else if (HasAfterschoolActivityOfType(actor, activityToCheck))
            {
                return(false);
            }
            else if (HasAfterschoolActivityOnDays(actor, GetDaysForActivityType(activityToCheck)))
            {
                greyedOutTooltipCallback = InteractionInstance.CreateTooltipCallback(AfterschoolActivity.LocalizeString(actor.IsFemale, "DayConflict", new object[0x0]));
                return(false);
            }
            else if (DoesActivityConflictWithJob(actor, activityToCheck))
            {
                return(false);
            }
            else if (teen && school.HasCompletedTeenAfterschoolActivityRecital)
            {
                return(false);
            }
            else if (HasCompletedRecitalForType(school, activityToCheck))
            {
                return(false);
            }
            else if (IsChildActivity(activityToCheck) && AlreadyHasChildActivity(actor))
            {
                return(false);
            }

            AgingManager singleton = AgingManager.Singleton;
            float        num       = singleton.AgingYearsToSimDays(singleton.GetCurrentAgingStageLength(actor));
            float        num2      = singleton.AgingYearsToSimDays(actor.AgingYearsSinceLastAgeTransition);
            float        num3      = num - num2;

            if (num3 <= AfterschoolActivity.kDaysBeforeAgingTrigger)
            {
                greyedOutTooltipCallback = InteractionInstance.CreateTooltipCallback(AfterschoolActivity.LocalizeString(actor.IsFemale, "AboutToAgeUp", new object[] { actor }));
                return(false);
            }

            return(true);
        }
Example #5
0
        protected static string GetSchool(SimDescription me)
        {
            string msg = null;

            if ((me.CareerManager != null) && (me.CareerManager.School != null))
            {
                School school = me.CareerManager.School;

                msg += Common.Localize("Status:School", me.IsFemale, new object[] { school.Name });

                if (school.CurLevel != null)
                {
                    msg += Common.Localize("Status:CareerLevel", me.IsFemale, new object[] { me.CareerManager.School.CurLevel.GetLocalizedName(me), school.CareerLevel });

                    msg += Common.Localize("Status:CareerExtra", me.IsFemale, new object[] { school.CurLevel.PayPerHourBase, school.mPayPerHourExtra, school.AverageTimeToReachWork });
                }

                if (school.Performance != 0f)
                {
                    msg += Common.Localize("Status:Performance", me.IsFemale, new object[] { (int)school.Performance });
                }

                if (school.Coworkers != null)
                {
                    msg += Common.Localize("Status:Coworkers", me.IsFemale, new object[] { school.Coworkers.Count });
                    foreach (SimDescription sim in school.Coworkers)
                    {
                        msg += Common.NewLine + sim.FullName;
                    }
                }

                if ((school.AfterschoolActivities != null) && (school.AfterschoolActivities.Count > 0))
                {
                    msg += Common.Localize("Status:AfterSchoolActivities", me.IsFemale, new object[] { school.AfterschoolActivities.Count });

                    foreach (AfterschoolActivity activity in school.AfterschoolActivities)
                    {
                        msg += Common.Localize("Status:AfterSchoolActivityElement", me.IsFemale, new object[] { AfterschoolActivity.LocalizeString(me.IsFemale, activity.CurrentActivityType.ToString(), new object[0]), DaysToString(activity.DaysForActivity) });
                    }
                }
            }
            else if ((me.Child) || (me.Teen))
            {
                bool found = false;
                if (me.BoardingSchool != null)
                {
                    BoardingSchool.BoardingSchoolData data;
                    if (BoardingSchool.BoardingSchoolData.sBoardingSchoolDataList.TryGetValue(me.BoardingSchool.CurrentSchoolType, out data))
                    {
                        msg  += Common.Localize("Status:School", me.IsFemale, new object[] { Common.LocalizeEAString(data.SchoolNameKey) });
                        found = true;
                    }
                }

                if (!found)
                {
                    msg += Common.Localize("Status:School", me.IsFemale, new object[] { Common.Localize("Status:NoSchool") });
                }
            }
            else if (me.YoungAdultOrAbove)
            {
                msg += Common.Localize("Status:AlmaMater", me.IsFemale, new object[] { me.AlmaMaterName });
            }

            return(msg);
        }