public bool Load(GameStringCategory cat) { string filePathWithLoadOrder = GetFilePathWithLoadOrder(cat, new FilePathFromCategoryCallback(GameStringTable.GetFilePathFromCategory)); string audioPath = GetFilePathWithLoadOrder(cat, new FilePathFromCategoryCallback(GameStringTable.GetAudioFilePathFromCategory)); return(this.Load(cat, filePathWithLoadOrder, audioPath)); }
public bool Load(GameStringCategory cat, Locale locale) { string filePathFromCategory = GetFilePathFromCategory(cat, locale); string audioFilePathFromCategory = GetAudioFilePathFromCategory(cat, locale); return(this.Load(cat, filePathFromCategory, audioFilePathFromCategory)); }
private static string GetFilePathWithLoadOrder(GameStringCategory cat, FilePathFromCategoryCallback pathCallback) { Locale[] loadOrder = Localization.GetLoadOrder(false); for (int i = 0; i < loadOrder.Length; i++) { string path = pathCallback(cat, loadOrder[i]); if (System.IO.File.Exists(path)) { return(path); } } return(null); }
private static void CheckConflicts(GameStringTable table) { Map <string, string> .KeyCollection keys = table.GetAll().Keys; GameStringCategory category = table.GetCategory(); foreach (GameStringTable table2 in s_tables.Values) { foreach (string str in keys) { if (table2.Get(str) != null) { string message = string.Format("GameStrings.CheckConflicts() - Tag {0} is used in {1} and {2}. All tags must be unique.", str, category, table2.GetCategory()); Error.AddDevWarning("GameStrings Error", message, new object[0]); } } } }
public bool Load(GameStringCategory cat, string path, string audioPath) { Header header; Header header2; this.m_category = GameStringCategory.INVALID; this.m_table.Clear(); List <Entry> entries = null; List <Entry> list2 = null; if (System.IO.File.Exists(path) && !LoadFile(path, out header, out entries)) { object[] messageArgs = new object[] { path, cat }; Error.AddDevWarning("GameStrings Error", "GameStringTable.Load() - Failed to load {0} for cat {1}.", messageArgs); return(false); } if (System.IO.File.Exists(audioPath) && !LoadFile(audioPath, out header2, out list2)) { object[] objArray2 = new object[] { audioPath, cat }; Error.AddDevWarning("GameStrings Error", "GameStringTable.Load() - Failed to load {0} for cat {1}.", objArray2); return(false); } if ((entries != null) && (list2 != null)) { this.BuildTable(path, entries, audioPath, list2); } else if (entries != null) { this.BuildTable(path, entries); } else if (list2 != null) { this.BuildTable(audioPath, list2); } else { object[] objArray3 = new object[] { cat }; Error.AddDevWarning("GameStrings Error", "GameStringTable.Load() - There are no entries for cat {0}.", objArray3); return(false); } this.m_category = cat; return(true); }
public static bool LoadCategory(GameStringCategory cat) { if (s_tables.ContainsKey(cat)) { Debug.LogWarning(string.Format("GameStrings.LoadCategory() - {0} is already loaded", cat)); return(false); } GameStringTable table = new GameStringTable(); if (!table.Load(cat)) { Debug.LogError(string.Format("GameStrings.LoadCategory() - {0} failed to load", cat)); return(false); } if (ApplicationMgr.IsInternal()) { CheckConflicts(table); } s_tables.Add(cat, table); return(true); }
private static string GetFilePathFromCategory(GameStringCategory cat, Locale locale) { string fileName = string.Format("{0}.txt", cat); return(GameStrings.GetAssetPath(locale, fileName)); }
public void AddStringsToUnload(GameStringCategory category) { this.m_stringCategoriesToUnload.Add(category); }
public bool Load(GameStringCategory cat, string path, string audioPath) { object[] objArray1 = new object[] { cat, path, audioPath }; return(base.method_10 <bool>("Load", new Class272.Enum20[] { Class272.Enum20.ValueType }, objArray1)); }
public bool Load(GameStringCategory cat, Locale locale) { Class272.Enum20[] enumArray1 = new Class272.Enum20[] { Class272.Enum20.ValueType, Class272.Enum20.ValueType }; object[] objArray1 = new object[] { cat, locale }; return(base.method_10 <bool>("Load", enumArray1, objArray1)); }
public static string GetFilePathFromCategory(GameStringCategory cat, Locale locale) { object[] objArray1 = new object[] { cat, locale }; return(MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "GameStringTable", "GetFilePathFromCategory", objArray1)); }
public static bool UnloadCategory(GameStringCategory cat) { object[] objArray1 = new object[] { cat }; return(MonoClass.smethod_14 <bool>(TritonHs.MainAssemblyPath, "", "GameStrings", "UnloadCategory", objArray1)); }