Exemplo n.º 1
0
        public static LocaleData LoadTable(string table)
        {
            StringBuilder s = new StringBuilder();

            s.Append(defaultResourcePath);
            s.Append('/');
            s.Append(currentLocale.ToString());
            s.Append('/');
            s.Append(table);
            LocaleData data = Resources.Load <LocaleData>(s.ToString());

            if (data != null)
            {
                return(data);
            }
            else
            {
                throw new MissingLocaleDataException("Cannot find a table \'" + table + "\' from path: " + s.ToString());
            }
        }
Exemplo n.º 2
0
 public static void LoadLocale(LocaleCode code)
 {
     if (currentLocale == code)
     {
         return;
     }
     if (settings.HasLocale(code))
     {
         currentLocale = code;
         PlayerPrefs.SetString(prefsLocaleLanguage, currentLocale.ToString());
         StringBuilder s = new StringBuilder();
         s.Append(defaultResourcePath);
         s.Append('/');
         s.Append(currentLocale.ToString());
         LocaleData[] _list = Resources.LoadAll <LocaleData>(s.ToString());
         foreach (KeyValuePair <string, LocaleData> r in preloadLocaleData)
         {
             Resources.UnloadAsset(r.Value);
         }
         preloadLocaleData.Clear();
         foreach (LocaleData data in _list)
         {
             if (preloadLocaleData.ContainsKey(data.name))
             {
                 preloadLocaleData[data.name] = data;
                 Debug.LogWarning("Found a duplicate locale data \'" + data.name + "\'. Please check from project resources folder and delete an duplicated locale data.");
             }
             else
             {
                 preloadLocaleData.Add(data.name, data);
             }
         }
         UpdateLocaleComponent();
     }
     else
     {
         Debug.LogWarning("Locale settings doesn't support for locale \'" + code.ToString() + "\'. Nothing changed.");
     }
 }