public void CreateAsContainer(ExcelData sheet, CAsDataConfig dataConfig) { string name = Global.FirstCharToUpper(sheet.SheetName.Replace("'", "").Replace("$", "")); string filePath = dataConfig.folder + @"\com\game\data\container\" + name + "Container.as"; string templatePath = @".\Templates\AS\temp_as_res_container.vm"; List <string> needReplace = new List <string>(); ArrayList replace = new ArrayList(); needReplace.Add("PackageString"); needReplace.Add("importList"); needReplace.Add("Name"); needReplace.Add("ContainerName"); replace.Add(dataConfig.package); List <string> import = new List <string>(); if (dataConfig.containerImport.Length > 0) { foreach (var container in dataConfig.containerImport) { import.Add(container); } } replace.Add(import); replace.Add(name); replace.Add(name + "Container"); CNVelociryHelp.CreateFileByTemplate(filePath, templatePath, needReplace, replace); Debug.Log(name + "Container.as文件生成完毕"); }
/// <summary> /// 生成CS表格资源 /// </summary> /// <param name="checkedListBox1"></param> /// <param name="excelDatas"></param> /// <param name="label1"></param> public void CreateCsResBean(ExcelData sheet, CAsDataConfig dataConfig, bool isSet = true) { string[,] data = Global.GetSheetFromExcel(sheet.ExcelName, sheet.SheetName); string name = Global.FirstCharToUpper(sheet.SheetName.Replace("'", "").Replace("$", "")); string filePath = dataConfig.folder + @"\" + name + ".cs"; string templatePath = @".\Templates\CS\temp_cs_res_bean.vm"; List <string> needReplace = new List <string>(); ArrayList replace = new ArrayList(); needReplace.Add("DateTime"); replace.Add(DateTime.Now.ToString("yyyy-M-d HH:mm:ss")); needReplace.Add("PackageString"); replace.Add(dataConfig.package); needReplace.Add("BeanName"); replace.Add(name); List <string> import = new List <string>(); if (dataConfig.beanImport != null && dataConfig.beanImport.Length > 0) { needReplace.Add("importList"); foreach (var bean in dataConfig.beanImport) { import.Add(bean); } replace.Add(import); } needReplace.Add("fieldList"); List <BeanVar> fieldList = new List <BeanVar>(); for (int i = 0; i < data.GetLength(1); i++) { if (!string.IsNullOrWhiteSpace(data[1, i]) && !data[0, i].Contains("备注") && !data[1, i].Contains("备注") && !data[2, i].Contains("备注") && !data[3, i].Contains("备注") && !data[4, i].Contains("备注")) { BeanVar field = new BeanVar(); field.name = data[1, i]; field.className = data[2, i]; field.explain = data[4, i].Replace("\n", "").Replace("\r", ""); fieldList.Add(field); } } replace.Add(fieldList); if (isSet) { needReplace.Add("getFieldList"); replace.Add(fieldList); } if (File.Exists(templatePath)) { CNVelociryHelp.CreateFileByTemplate(filePath, templatePath, needReplace, replace); Debug.Log(name + ".cs文件生成完毕"); } else { Debug.Log("模板文件不存在请检查." + templatePath); } }
public void AddNewCapter(string newName) { CAsDataConfig newConfig = new CAsDataConfig(); newConfig.caption = newName; dataConfigs.Add(newConfig); currentConfig++; comBoxRefreshFlag = true; RefreshData(); }
public void CreateAsResBean(ExcelData sheet, CAsDataConfig dataConfig, bool isSet = true) { string[,] data = Global.GetSheetFromExcel(sheet.ExcelName, sheet.SheetName); string name = Global.FirstCharToUpper(sheet.SheetName.Replace("'", "").Replace("$", "")); string filePath = dataConfig.folder + @"\com\game\data\bean\" + name + ".as"; string templatePath = @".\Templates\AS\temp_as_res_bean.vm"; List <string> needReplace = new List <string>(); ArrayList replace = new ArrayList(); needReplace.Add("PackageString"); needReplace.Add("importList"); needReplace.Add("BeanName"); needReplace.Add("fieldList"); replace.Add(dataConfig.package); List <string> import = new List <string>(); if (dataConfig.beanImport.Length > 0) { foreach (var bean in dataConfig.beanImport) { import.Add(bean); } } replace.Add(import); replace.Add(name); List <BeanVar> fieldList = new List <BeanVar>(); for (int i = 0; i < data.GetLength(1); i++) { if (!string.IsNullOrWhiteSpace(data[1, i])) { BeanVar field = new BeanVar(); field.name = data[1, i]; field.className = data[2, i]; field.explain = data[4, i]; fieldList.Add(field); } } replace.Add(fieldList); if (isSet) { needReplace.Add("getFieldList"); replace.Add(fieldList); } CNVelociryHelp.CreateFileByTemplate(filePath, templatePath, needReplace, replace); Debug.Log(name + ".as文件生成完毕"); }
public void InitSetting(CheckedListBox listbox, List <ExcelData> sheets, bool asFlag = true) { isAs = asFlag; dataList = listbox; dataExcels = sheets; XmlElement root; if (isAs) { XmlDocument doc = ConfigControl.GetXmlDocument(@".\Config\AsDataConfig.xml"); root = ConfigControl.GetXmlRootAsElement(doc, "AsDataGenerateConfig"); XmlElement config = root.SelectSingleNode("configs") as XmlElement; if (config != null) { XmlNodeList configList = config.SelectNodes("AsDataGenerateInfo"); if (configList.Count > 0) { for (int i = 0; i < configList.Count; i++) { CAsDataConfig dataConfig = new CAsDataConfig(); dataConfig.LoadConfig((XmlElement)configList[i]); dataConfigs.Add(dataConfig); } } } } else { label1.Text = "Cs Src目录:"; label2.Text = "Cs包:"; label3.Text = "bean using List:"; label4.Text = "Container using list:"; XmlDocument doc = ConfigControl.GetXmlDocument(@".\Config\CsDataConfig.xml"); root = ConfigControl.GetXmlRootAsElement(doc, "CsDataGenerateConfig"); XmlElement config = root.SelectSingleNode("configs") as XmlElement; if (config != null) { XmlNodeList configList = config.SelectNodes("CsDataGenerateInfo"); if (configList.Count > 0) { for (int i = 0; i < configList.Count; i++) { CAsDataConfig dataConfig = new CAsDataConfig(); dataConfig.LoadConfig((XmlElement)configList[i]); dataConfigs.Add(dataConfig); } } } checkBoxLoad.Checked = false; } int index = Convert.ToInt32(ConfigControl.GetXmlElementInnerText(root, "lastIndex")); currentConfig = index; //comboBoxCapterList.Items.Clear(); //for (int i = 0; i < dataConfigs.Count; i++) //{ // comboBoxCapterList.Items.Add(dataConfigs[i].caption); //} comBoxRefreshFlag = true; RefreshData(); //comboBoxCapterList.SelectedIndex = index; }
public void CreateCsContainer(ExcelData sheet, CAsDataConfig dataConfig) { string name = Global.FirstCharToUpper(sheet.SheetName.Replace("'", "").Replace("$", "")); string filePath = dataConfig.folder + @"\" + name + "Container.cs"; string templatePath = @".\Templates\CS\temp_cs_res_container.vm"; List <string> needReplace = new List <string>(); ArrayList replace = new ArrayList(); needReplace.Add("DateTime"); replace.Add(DateTime.Now.ToString("yyyy-M-d HH:mm:ss")); if (dataConfig.package != null) { needReplace.Add("PackageString"); replace.Add(dataConfig.package); needReplace.Add("BeanPackage"); replace.Add(dataConfig.package); } needReplace.Add("Name"); replace.Add(name); needReplace.Add("ContainerName"); replace.Add(name + "Container"); List <string> import = new List <string>(); if (dataConfig.containerImport != null && dataConfig.containerImport.Length > 0) { needReplace.Add("importList"); foreach (var bean in dataConfig.containerImport) { import.Add(bean); } replace.Add(import); } string[,] sheetdata = Global.GetSheetFromExcel(sheet.ExcelName, sheet.SheetName); if (sheetdata != null && sheetdata.GetLength(1) > 0) { string Id = ""; Dictionary <int, string> KeyDict = new Dictionary <int, string>(); for (int i = 0; i < sheetdata.GetLength(1); i++) { if (sheetdata[0, i] != "" && sheetdata[0, i] != " ") { int index = int.Parse(sheetdata[0, i]); KeyDict.Add(index, sheetdata[1, i]); } } if (KeyDict.Count > 0) { Id += string.Format("bean.{0}.ToString()", KeyDict[1]);; for (int i = 0; i < KeyDict.Count - 1; i++) { Id += string.Format("+\"_\"+bean.{0}.ToString()", KeyDict[2 + i]); } } needReplace.Add("ID"); if (Id == "") { replace.Add("IAMNULL"); } else { replace.Add(Id); } } CNVelociryHelp.CreateFileByTemplate(filePath, templatePath, needReplace, replace); Debug.Log(name + "Container.cs文件生成完毕"); }