コード例 #1
0
 public static void Deserialize(SerializableSet set)
 {
     for (int i = 0, l = set.LanguageConfigs.Length; i < l; i++)
     {
         LanguageConfigSheet.GetDictionary().Add(set.LanguageConfigs[i].LanguageID, set.LanguageConfigs[i]);
     }
 }
コード例 #2
0
        public void WriteLanguageConfigToExcel()
        {
            //先清除之前的
            LanguageConfigSheet.GetDictionary().Clear();
            //加载所有数据 然后从内存写到excel
            SerializableSet configSet = Resources.Load <SerializableSet>("Config/SerializableSet");

            Deserializer.Deserialize(configSet);
            Resources.UnloadUnusedAssets();

            Dictionary <uint, LanguageConfigSheet> sheets = LanguageConfigSheet.GetDictionary();

            //找到所有的LanguageText
            GameObject[] gameObjects = Resources.LoadAll <GameObject>(uiPrefabPath);
            for (int i = 0; i < gameObjects.Length; i++)
            {
                LanguageText[] languageTexts = gameObjects[i].transform.GetComponentsInChildren <LanguageText>();
                for (int j = 0; j < languageTexts.Length; j++)
                {
                    LanguageText languageText = languageTexts[j];
                    if (languageText.mLanguageId == 0)
                    {
                        continue;
                    }

                    LanguageConfigSheet sheet;
                    if (sheets.TryGetValue(languageText.mLanguageId, out sheet))
                    {
                        sheet.LanguageID = languageText.mLanguageId;
                        sheet.Text       = languageText.text;
                        sheets[languageText.mLanguageId] = sheet;
                    }
                    else
                    {
                        sheet            = new LanguageConfigSheet();
                        sheet.LanguageID = languageText.mLanguageId;
                        sheet.Text       = languageText.text;
                        sheets.Add(sheet.LanguageID, sheet);
                    }
                }
            }

            WriteExcel(sheets);
        }