/// <summary> /// Empty the NetGuidCache /// </summary> public void Cleanup() { NetFieldExportGroupIndexToGroup.Clear(); NetFieldExportGroupMap.Clear(); NetGuidToPathName.Clear(); ObjectLookup.Clear(); NetFieldExportGroupMapPathFixed.Clear(); _archTypeToExportGroup.Clear(); _cleanedPaths.Clear(); _cleanedClassNetCache.Clear(); }
public void OnWorldQuit() { sLoading = true; //sDelayLoading = true; DereferenceManager.Logger.OnWorldQuit = true; ObjectLookup.Clear(); sObjectsOfInterest.Clear(); sAllRunning.Clear(); }
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(); }