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"); }
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; } }
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); } } }
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(); }