Beispiel #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]);
     }
 }
    protected override void Awake()
    {
        base.Awake();

        if (mLanguageId != 0)
        {
            LanguageConfigSheet sheet = LanguageConfigSheet.Get(mLanguageId);

            if (sheet != null)
            {
                text = sheet.Text;
            }
        }
    }
Beispiel #3
0
        private void WriteExcel(Dictionary <uint, LanguageConfigSheet> sheets)
        {
            Dictionary <uint, LanguageConfigSheet> dic1Asc =
                sheets.OrderBy(o => o.Key).ToDictionary(o => o.Key, p => p.Value);

            //检出输出目录
            if (!Directory.Exists(cache.configOutputFolder))
            {
                Directory.CreateDirectory(cache.configOutputFolder);
            }

            if (!Directory.Exists(cache.serializerOutputFolder))
            {
                Directory.CreateDirectory(cache.serializerOutputFolder);
            }

            FileInfo file = new FileInfo(cache.sourceFolder + "/LanguageConfig.xlsx");

            ExcelPackage   package   = null;
            ExcelWorksheet excelData = null;

            if (!file.Exists)
            {
                package   = new ExcelPackage();
                excelData = package.Workbook.Worksheets.Add("Language");
                package.SaveAs(file);
            }
            else
            {
                package   = new ExcelPackage(file);
                excelData = package.Workbook.Worksheets[1];
            }

            WriteConfigText(excelData);

            int         row          = 4;
            List <uint> sheetKeyList = new List <uint>(dic1Asc.Keys);

            for (int i = 0; i < sheetKeyList.Count; i++)
            {
                LanguageConfigSheet sheet = dic1Asc[sheetKeyList[i]];
                excelData.Cells[row, 1].Value = sheet.LanguageID;
                excelData.Cells[row, 2].Value = sheet.Text;
                row++;
            }

            package.Save();
            Debug.Log("导出language表成功");
        }
Beispiel #4
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);
        }
Beispiel #5
0
        private void Awake()
        {
            mCanvas = GameObject.Find("Canvas").GetComponent <Canvas>();

            if (mCanvas == null)
            {
                Debug.LogError("未找到Canvas");
                return;
            }

            configSet = Resources.Load <SerializableSet>("Config/SerializableSet");
            Deserializer.Deserialize(configSet);
            Resources.UnloadUnusedAssets();

            Debug.Log(LanguageConfigSheet.Get(20).Text);

            GameObject go = GameObject.Instantiate(Resources.Load <GameObject>("UIPrefab/UIPanel"));

            go.transform.SetParent(mCanvas.transform, false);
        }