# etoy-xgame #### 介绍 本工具用于将excel表格转成csv和其他数据格式的文件并生成配套代码。 客户端语言:C#,数据结构:字节流 服务端:TODO #### 表格规范 1. ##### Excel 1. 表格文件支持多标签页,标签页名字以驼峰方式命名,首字母大写。 2. 表格名字以"#"开头的表示忽略该表,不会对该表执行任何操作。 3. 每个表格起始4行固定为字段名、数据类型、字段标签、字段说明,正式数据从第五行开始。第一列默认为表格主键(int、long)。 4. 表格某一列字段名为“#”,则导出数据时忽略该列。字段识别到空字符串为止,即字段名为空所在的列及其后所有列都不会导出。 5. 标签说明:默认为空,双端都导出。 's':导出服务端,’c‘:导出客户端。Default:value 字段默认值,若字段值为空,则使用该值。 6. 基础数据类型: int、long、float、double、bool、string。除了字符串,其他类型都不允许为空。布尔值推荐使用0或1。 7. 数组类型从excel读取是按照json格式读取,因此字符串数组(string[])每个字符串都需要带上"",否则会识别错误。 8. 自定义数据类型:struct、enum,这两种数据类型通过 Metadata表自定义,使用struct时以“{}”起始,内部只需要按顺序填值。 9. 如图所示:字段Id导出时作为该表主键 10. ![image-20240508125559907](ReadmeImg\image-20240508125559907.png) 2. ##### Metadata 1. __Metadata.xlsx用于生成自定义数据结构和枚举,该表格定义的数据结构和枚举,可在除了KeyValue表以外的所有地方使用。 2. 表格固定三列:类型、值、备注 3. 第一行固定不能修改,正式配置从第二行开始 4. 支持两种类型:struct(数据结构)、enum(枚举) 5. 数据结构定义格式:数据结构名字 {字段名1:数据类型1;字段名2:数据类型2;},支持数据结构嵌套 ![image-20240508115556752](ReadmeImg\image-20240508115556752.png) 6. 枚举定义格式:枚举类型名字 {枚举1,枚举2,枚举3=value3} 枚举值默认从零开始,可以不赋值只定义名字 7. ![image-20240508123733422](ReadmeImg\image-20240508123733422.png) 3. ##### KeyValue 1. __KeyValue.xlsx用于生成固定的Key、Value键值对,主要用于一些不方便建表的可配置字段。 2. 表格固定五列:key、value、数据类型、字段描述、标签 3. 第一行固定不能修改,正式配置从第二行开始 4. 只支持基础数据类型:int、long、float、double、bool、string 5. 标签说明: 's':导出服务端,’c‘:导出客户端 6. ![image-20240508130627348](ReadmeImg\image-20240508130627348.png) 4. 未完待续 #### 配置文件 1. Option.json 使用json格式保存该工具的配置信息 2. ExcelInput:Excel文件所在的根目录 3. CsvOutput:Csv文件生成根目录 4. PipelineType:打包命令类型(0: 全部生成; 1: 只生成客户端; 2: 只生成服务端) 5. ClientDatabaseOutput:客户端数据库导出根目录 6. ClientCodeOutput:客户端代码导出根目录 7. ServerDatabaseOutput:服务端数据库导出根目录 8. ServerCodeOutput:服务端代码导出根目录 9. ConfigVersionOutput:配置版本文件的导出路径 10. ![image-20240722150310549](F:\TJWork\etoy-xgame\ReadmeImg\image-20240722150310549.png) 11. #### 使用 1. Option.json配置好相关参数 2. Excel表格 3. 点击执行etoy.exe