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);
 }
Пример #4
0
    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);
    }
Пример #6
0
    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));
    }
Пример #8
0
 public void AddStringsToUnload(GameStringCategory category)
 {
     this.m_stringCategoriesToUnload.Add(category);
 }
Пример #9
0
 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));
 }
Пример #10
0
 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));
 }
Пример #11
0
 public static string GetFilePathFromCategory(GameStringCategory cat, Locale locale)
 {
     object[] objArray1 = new object[] { cat, locale };
     return(MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "GameStringTable", "GetFilePathFromCategory", objArray1));
 }
Пример #12
0
 public static bool UnloadCategory(GameStringCategory cat)
 {
     object[] objArray1 = new object[] { cat };
     return(MonoClass.smethod_14 <bool>(TritonHs.MainAssemblyPath, "", "GameStrings", "UnloadCategory", objArray1));
 }