public void UnloadLanguage(int languageIndex) { if (!AllowUnloadingLanguages()) { return; } // Some consoles don't allow IO access if (!PersistentStorage.CanAccessFiles()) { return; } if (!I2Utils.IsPlaying() || !mLanguages[languageIndex].IsLoaded() || !mLanguages[languageIndex].CanBeUnloaded() || IsCurrentLanguage(languageIndex) || !PersistentStorage.HasFile(PersistentStorage.eFileType.Temporal, GetSavedLanguageFileName(languageIndex))) { return; } foreach (var termData in mTerms) { termData.Languages[languageIndex] = null; } mLanguages[languageIndex].SetLoaded(false); }
public void SaveLanguages(bool unloadAll, PersistentStorage.eFileType fileLocation = PersistentStorage.eFileType.Temporal) { if (!AllowUnloadingLanguages()) { return; } // Some consoles don't allow IO access if (!PersistentStorage.CanAccessFiles()) { return; } for (int i = 0; i < mLanguages.Count; ++i) { var data = Export_Language_to_Cache(i, IsCurrentLanguage(i)); if (string.IsNullOrEmpty(data)) { continue; } PersistentStorage.SaveFile(PersistentStorage.eFileType.Temporal, GetSavedLanguageFileName(i), data); } if (unloadAll) { for (int i = 0; i < mLanguages.Count; ++i) { if (unloadAll && !IsCurrentLanguage(i)) { UnloadLanguage(i); } } } }
public void LoadLanguage(int languageIndex, bool UnloadOtherLanguages, bool useFallback, bool onlyCurrentSpecialization, bool forceLoad) { if (!AllowUnloadingLanguages()) { return; } // Some consoles don't allow IO access if (!PersistentStorage.CanAccessFiles()) { return; } if (languageIndex >= 0 && (forceLoad || !mLanguages[languageIndex].IsLoaded())) { var tempPath = GetSavedLanguageFileName(languageIndex); var langData = PersistentStorage.LoadFile(PersistentStorage.eFileType.Temporal, tempPath, false); if (!string.IsNullOrEmpty(langData)) { Import_Language_from_Cache(languageIndex, langData, useFallback, onlyCurrentSpecialization); mLanguages[languageIndex].SetLoaded(true); } } if (UnloadOtherLanguages && I2Utils.IsPlaying()) { for (int lan = 0; lan < mLanguages.Count; ++lan) { if (lan != languageIndex) { UnloadLanguage(lan); } } } }