Esempio n. 1
0
        private static void CreateConfigData(ExcelSheet sheet)
        {
            string savePath = $"{ExcelExportOutSetting.OutDataDir}/{sheet.ConfigName}.txt";
            string jsondata = JsonConvert.SerializeObject(sheet.Table);

            ExcelUtil.SaveFile(savePath, jsondata, true, false);
        }
Esempio n. 2
0
        private static void CreateConfigClass(ExcelSheet sheet)
        {
            string        firstField = null;
            string        savePath   = $"{ExcelExportOutSetting.OutClassDir}/{sheet.ConfigName}.cs";
            StringBuilder fieldStrs  = new StringBuilder();

            fieldStrs.AppendLine("//------------------------------------------------------------");
            fieldStrs.AppendLine("// 此文件由工具自动生成,请勿直接修改。");
            fieldStrs.AppendLine("// 生成时间:" + DateTime.Now);
            fieldStrs.AppendLine("//------------------------------------------------------------");
            fieldStrs.AppendLine();
            fieldStrs.AppendLine("using System;");
            fieldStrs.AppendLine("using System.Collections.Generic;");
            fieldStrs.AppendLine();
            fieldStrs.AppendLine("namespace " + ExcelExportOutSetting.NameSpace);
            {
                fieldStrs.AppendLine("{");
                fieldStrs.AppendLine($"\t/// <summary>{sheet.NameDes}</summary>");
                fieldStrs.AppendLine($"\tpublic class {sheet.ConfigName} : BaseConfig");
                {
                    fieldStrs.AppendLine("\t{");
                    fieldStrs.AppendLine("\t\t/// <summary>唯一ID</summary>");
                    if (!sheet.IsVert)
                    {
                        fieldStrs.AppendLine("\t\tpublic override object UniqueID => id;");
                    }
                    else
                    {
                        fieldStrs.AppendLine($"\t\tpublic override object UniqueID => {sheet.Fields[0].Name};");
                    }


                    foreach (ExcelSheetTableField filed in sheet.Fields)
                    {
                        bool flag      = filed.IsInterface;
                        var  filedProp = flag ? " { get; set; }" : ";";

                        bool flag2 = firstField == null;
                        if (flag2)
                        {
                            firstField = filed.Name;
                        }

                        fieldStrs.AppendLine();
                        fieldStrs.AppendLine("\t\t/// <summary>");
                        string[] desStrings = filed.Des.Split('\n');
                        foreach (var variable in desStrings)
                        {
                            fieldStrs.AppendLine($"\t\t/// {variable}");
                        }
                        fieldStrs.AppendLine("\t\t/// </summary>");
                        fieldStrs.AppendLine(
                            $"\t\tpublic {ExcelUtil.GetCSStringType(filed.Type, false)} {filed.Name}{filedProp}");
                    }

                    fieldStrs.AppendLine("\t}");
                }
                fieldStrs.AppendLine("}");
            }
            ExcelUtil.SaveFile(savePath, fieldStrs.ToString(), true, true);
        }
Esempio n. 3
0
        public static void CreateConfigMgr(List <ExcelSheet> configList, Action callback = null)
        {
            ExcelUtil.CheckCreateDirectory(ExcelExportOutSetting.OutConfigMgrDir);
            string savePath = $"{ExcelExportOutSetting.OutConfigMgrDir}/ConfigMgr.cs";

            StringBuilder dicStrs_V = new StringBuilder();
            StringBuilder funStrs_H = new StringBuilder();
            StringBuilder funStrs_V = new StringBuilder();

            foreach (var sheet in configList)
            {
                if (sheet.Name.Equals("Language"))
                {
                    continue;
                }
                if (sheet.IsVert)
                {
                    dicStrs_V.AppendLine($"\t\t/// <summary> {sheet.NameDes} </summary>");
                    dicStrs_V.AppendLine($"\t\tpublic {sheet.ConfigName} {ExcelUtil.ToFirstLower(sheet.ConfigName)};");
                    funStrs_V.AppendLine(
                        $"\t\t\t{ExcelUtil.ToFirstLower(sheet.ConfigName)} = await readConfigV<{sheet.ConfigName}>();");
                }
                else
                {
                    funStrs_H.AppendLine($"\t\t\treadConfig<{sheet.Name}Config>().Run();//{sheet.NameDes}");
                }
            }

            StringBuilder fieldStrs = new StringBuilder();

            fieldStrs.AppendLine("//------------------------------------------------------------");
            fieldStrs.AppendLine("// 此文件由工具自动生成,请勿直接修改。");
            fieldStrs.AppendLine("// 生成时间:" + DateTime.Now);
            fieldStrs.AppendLine("//------------------------------------------------------------");
            fieldStrs.AppendLine();
            fieldStrs.AppendLine("using System.Collections.Generic;");
            fieldStrs.AppendLine("using Fuse.Tasks;");
            fieldStrs.AppendLine();
            fieldStrs.AppendLine("namespace " + ExcelExportOutSetting.NameSpace);
            fieldStrs.AppendLine("{");
            {
                fieldStrs.AppendLine("\tpublic partial class ConfigMgr");
                fieldStrs.AppendLine("\t{");
                {
                    fieldStrs.AppendLine(dicStrs_V.ToString());
                    fieldStrs.AppendLine();

                    fieldStrs.AppendLine("\t\tprivate void LoadAllConfig()");
                    fieldStrs.AppendLine("\t\t{");
                    {
                        fieldStrs.AppendLine(funStrs_H.ToString());
                        fieldStrs.AppendLine();
                        fieldStrs.AppendLine("\t\t\t//读取竖表配置");
                        fieldStrs.AppendLine("\t\t\tLoadAllConfigV().Run();");
                        fieldStrs.AppendLine();
                        fieldStrs.AppendLine("\t\t\tCustomRead();");
                    }
                    fieldStrs.AppendLine("\t\t}");
                    fieldStrs.AppendLine("\t\t/// <summary>读取竖表配置</summary>");
                    fieldStrs.AppendLine("\t\tprivate async CTask LoadAllConfigV()");
                    fieldStrs.AppendLine("\t\t{");
                    {
                        fieldStrs.AppendLine(funStrs_V.ToString());
                    }
                    fieldStrs.AppendLine("\t\t}");
                }
                fieldStrs.AppendLine("\t}");
            }
            fieldStrs.AppendLine("}");
            ExcelUtil.SaveFile(savePath, fieldStrs.ToString(), true, true);

            callback?.Invoke();
        }