Example #1
0
        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文件生成完毕");
        }
Example #2
0
        /// <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);
            }
        }
Example #3
0
        public void AddNewCapter(string newName)
        {
            CAsDataConfig newConfig = new CAsDataConfig();

            newConfig.caption = newName;
            dataConfigs.Add(newConfig);
            currentConfig++;
            comBoxRefreshFlag = true;
            RefreshData();
        }
Example #4
0
        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文件生成完毕");
        }
Example #5
0
        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;
        }
Example #6
0
        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文件生成完毕");
        }