Exemple #1
0
    private static LocalizedText.TextTable InternalLoadTable(string language, string tableID, LocalizedText.TextTable overwriteTable = null)
    {
        LocalizedText.TextTable textTable;
        if (overwriteTable == null)
        {
            textTable = new LocalizedText.TextTable(tableID);
            LocalizedText.mTables.Add(textTable);
        }
        else
        {
            textTable = overwriteTable;
            textTable.Items.Clear();
        }
        string path = LocalizedText.ComposeTablePath(language, tableID);
        string s;

        if (LocalizedText.UseAssetManager)
        {
            s = AssetManager.LoadTextData(path);
        }
        else
        {
            TextAsset textAsset = (TextAsset)Resources.Load <TextAsset>(path);
            s = !Object.op_Inequality((Object)textAsset, (Object)null) ? (string)null : textAsset.get_text();
        }
        if (s != null)
        {
            Debug.LogWarning((object)("SG: Loading text table '" + tableID + "'"));
            char[] separator = new char[1] {
                '\t'
            };
            using (StringReader stringReader = new StringReader(s))
            {
                string end     = stringReader.ReadToEnd();
                char[] chArray = new char[1] {
                    '\n'
                };
                foreach (string str in end.Split(chArray))
                {
                    if (!string.IsNullOrEmpty(str) && !str.StartsWith(";"))
                    {
                        string[] strArray = str.Split(separator, 2);
                        if (strArray.Length >= 2 && !string.IsNullOrEmpty(strArray[0]) && !string.IsNullOrEmpty(strArray[1]))
                        {
                            textTable.Items[strArray[0]] = strArray[1].Replace("<br>", "\n");
                        }
                    }
                }
            }
        }
        else
        {
            Debug.LogError((object)("Failed to load text '" + path + "'"));
            LocalizedText.mTables.Remove(textTable);
        }
        return(textTable);
    }
Exemple #2
0
    public static string GetResourcePath(string key)
    {
        int length = key.IndexOf(".");

        if (length < 0)
        {
            return((string)null);
        }
        return(LocalizedText.ComposeTablePath(key.Substring(0, length)));
    }