public static void SelectLanguage(LoadedLanguage lang) { Prefs.LangFolderName = lang.folderName; LongEventHandler.QueueLongEvent(delegate() { PlayDataLoader.ClearAllPlayData(); PlayDataLoader.LoadAllPlayData(false); }, "LoadingLongEvent", true, null); }
public static void LoadAllPlayData(bool recovering = false) { if (PlayDataLoader.loadedInt) { Log.Error("Loading play data when already loaded. Call ClearAllPlayData first."); } else { DeepProfiler.Start("LoadAllPlayData"); try { PlayDataLoader.DoPlayLoad(); } catch (Exception arg) { if (!Prefs.ResetModsConfigOnCrash) { throw; } if (recovering) { Log.Warning("Could not recover from errors loading play data. Giving up."); throw; } IEnumerable <ModMetaData> activeModsInLoadOrder = ModsConfig.ActiveModsInLoadOrder; if (activeModsInLoadOrder.Count() == 1 && activeModsInLoadOrder.First().IsCoreMod) { throw; } Log.Warning("Caught exception while loading play data but there are active mods other than Core. Resetting mods config and trying again.\nThe exception was: " + arg); try { PlayDataLoader.ClearAllPlayData(); } catch { Log.Warning("Caught exception while recovering from errors and trying to clear all play data. Ignoring it.\nThe exception was: " + arg); } ModsConfig.Reset(); DirectXmlCrossRefLoader.Clear(); PlayDataLoader.LoadAllPlayData(true); return; } finally { DeepProfiler.End(); } PlayDataLoader.loadedInt = true; if (recovering) { Log.Message("Successfully recovered from errors and loaded play data."); DelayedErrorWindowRequest.Add("RecoveredFromErrorsText".Translate(), "RecoveredFromErrorsDialogTitle".Translate()); } } }
private static void <SelectLanguage> m__0() { PlayDataLoader.ClearAllPlayData(); PlayDataLoader.LoadAllPlayData(false); }