Example #1
0
        protected ListenerAction OnHired(Event e)
        {
            SimDescription sim = null;

            CareerEvent cEvent = e as CareerEvent;

            if ((cEvent != null) && (cEvent.Career != null))
            {
                sim = cEvent.Career.OwnerDescription;
            }

            if (sim == null)
            {
                return(ListenerAction.Keep);
            }

            if ((sim != mSuspendedSim) &&
                ((TargetObject == null) || ((TargetObject as Sim).SimDescription != sim)))
            {
                return(ListenerAction.Keep);
            }

            if ((Actor.Occupation == null) || (sim.Occupation == null) || (Actor.Occupation.Guid != sim.Occupation.Guid))
            {
                return(ListenerAction.Keep);
            }

            mRecruited = true;

            return(ListenerAction.Remove);
        }
Example #2
0
        protected static void OnHired(Event e)
        {
            CareerEvent cEvent = e as CareerEvent;

            if (cEvent == null)
            {
                return;
            }

            if (cEvent.Career is AcademicCareer)
            {
                if (!GameUtils.IsUniversityWorld())
                {
                    if (AcademicCareer.GlobalTermLength == AcademicCareer.TermLength.kInvalid)
                    {
                        AcademicCareer.GlobalTermLength = AcademicCareer.TermLength.kOneWeek;
                    }

                    AddAcademic(cEvent.Career.OwnerDescription, AcademicCareer.GlobalTermLength);
                }
            }
            else //if (cEvent.Career is XpBasedCareer)
            {
                if (cEvent.Career.CareerLevel == 1)
                {
                    SimDescription sim = cEvent.Career.OwnerDescription;
                    if (sim == null)
                    {
                        return;
                    }

                    AcademicDegreeManager degreeManager = sim.CareerManager.DegreeManager;
                    if (degreeManager == null)
                    {
                        return;
                    }

                    int level = CalculateBoostedStartingLevel(cEvent.Career);

                    for (int i = 0; i < level; i++)
                    {
                        cEvent.Career.PromoteSim();
                    }
                }
            }
        }