Example #1
0
        static Careers()
        {
            sEnableLoadLog = true;

            Bootstrap();

            // Loaded in a Specific order
            BooterHelper.Add(new SkillBooter(BooterHelper.sBootStrapFile, false));
            BooterHelper.Add(new AfterschoolActivityBooter(BooterHelper.sBootStrapFile));
            BooterHelper.Add(new OpportunityBooter(BooterHelper.sBootStrapFile, false));
            BooterHelper.Add(new SkillBasedCareerBooter(BooterHelper.sBootStrapFile, false));
            BooterHelper.Add(new CareersBooter(BooterHelper.sBootStrapFile, false));
            BooterHelper.Add(new ToneBooter(BooterHelper.sBootStrapFile));
            BooterHelper.Add(new BookBooter(BooterHelper.sBootStrapFile, false));
            BooterHelper.Add(new AcademicDegreeBooter(BooterHelper.sBootStrapFile, false));
            BooterHelper.Add(new JobsBooter(BooterHelper.sBootStrapFile, false));

            foreach (IHomemakerBooter booter in DerivativeSearch.Find <IHomemakerBooter>())
            {
                BooterHelper.Add(booter);
            }

            BooterHelper.Add(new SocializingBooter());
            BooterHelper.Add(new SocializingBooter(BooterHelper.sBootStrapFile, false));

            //BooterLogger.AddError("Force Log");
        }
Example #2
0
        protected static void OnTimer()
        {
            try
            {
                sCollectNotices = true;

                List <IAlarmOption> items = DerivativeSearch.Find <IAlarmOption>();

                foreach (IAlarmOption alarmed in items)
                {
                    alarmed.PerformAlarm();
                }
            }
            catch (Exception e)
            {
                Common.Exception("OnTimer", e);
            }
            finally
            {
                sCollectNotices = false;
            }

            if (!string.IsNullOrEmpty(sAlarmNotice))
            {
                Notify(sAlarmNotice);
                sAlarmNotice = null;
            }
        }
Example #3
0
        public static void OnPostPostLoad(ScriptCore.ScriptProxy proxy, Sims3.SimIFace.IScriptLogic logic, bool postLoad)
        {
            using (TestSpan span = new TestSpan(TimeSpanLogger.Bin, "OnPostPostLoad", DebuggingLevel))
            {
                try
                {
                    List <ICheck> checks = DerivativeSearch.Find <ICheck>();

                    foreach (ICheck check in checks)
                    {
                        check.IPostPerform(logic, postLoad);
                    }
                }
                catch (Exception e)
                {
                    Exception(proxy.Target, e);
                }
            }
        }
Example #4
0
        public void OnDelayedWorldLoadFinished()
        {
            sObjectsOfInterest.Clear();

            List <ICheck> checks = DerivativeSearch.Find <ICheck>();

            foreach (ICheck check in checks)
            {
                check.Finish();
            }

            EventTracker.sCurrentlyUpdatingDreamsAndPromisesManagers = false;

            new CheckRoleManager().Perform(RoleManager.sRoleManager, true);

            CheckRecovery();

            CheckOutfits();

            CheckLotObjects();

            Inventories.CheckInventories(LogCorrection, DebugLogCorrection, true);

            List <IDereferenceController> controllers = DerivativeSearch.Find <IDereferenceController>();

            foreach (IDereferenceController controller in controllers)
            {
                controller.Clear();

                foreach (KeyValuePair <Type, List <ObjectLookup.Item> > list in ObjectLookup.List)
                {
                    controller.Add(list.Key, list.Value);
                }

                controller.PreProcess();
            }

            if (ErrorTrapTuning3.kLogCounting)
            {
                using (TestSpan span = new TestSpan(ExternalTimeSpanLogger.sLogger, "Log Counts"))
                {
                    ObjectLookup.LogCounts();
                }
            }

            DereferenceManager.Logger.OnWorldQuit = false;

            try
            {
                DereferenceManager.Logger.sCollecting = true;

                using (Common.TestSpan totalSpan = new Common.TestSpan(TimeSpanLogger.Bin, "Dereferencing", DebugLevel.Stats))
                {
                    foreach (IDereferenceController controller in controllers)
                    {
                        controller.Perform();

                        if (DereferenceManager.Logger.OnWorldQuit)
                        {
                            break;
                        }
                    }
                }
            }
            finally
            {
                DereferenceManager.Logger.sCollecting = false;
            }

            using (Common.TestSpan totalSpan = new Common.TestSpan(TimeSpanLogger.Bin, "Dereferencing", DebugLevel.Stats))
            {
                foreach (IDereferenceController controller in controllers)
                {
                    controller.PostPerform();

                    if (DereferenceManager.Logger.OnWorldQuit)
                    {
                        break;
                    }
                }
            }

            // Possibly loaded by Dereference
            sResidents = null;

            ProcessToBeDeleted(sToBeDeleted, true);
            ProcessToBeDeleted(sSilentToBeDeleted, false);

            ObjectLookup.Clear();

            //sDelayLoading = false;

            RecordErrors();
        }