面板工具的使用

Fink Framework 内置了一个完整的 数据处理工具面板,用于在 Unity 编辑器中以图形化一键执行的方式执行 Excel →自动生成代码 → 导出数据(JSON / 二进制) 的全流程操作。

打开方式:

在 Unity 菜单栏选择:Fink Framework → 数据工具面板。如下图:

unity

该窗口用于替代手动运行 DataGenToolDataParseToolDataExportTool 等脚本,让数据管线更加自动化、可视化、可调试、易于使用。


1. 面板概览

数据工具窗口主要包含三个区域:

  • 主功能:一键生成与导出所有数据
  • QA 验证:对所有 Excel 表进行字段与数据合法性校验
  • 执行日志:输出所有操作的实时结果,可导出 TXT

界面示意图:

unity


2. 主功能区域

该区域包括四个按钮。下面会逐个说明按钮名称、点击后执行的操作、背后调用的脚本等内容。

2.1 处理全部数据

按钮名称: 一键处理全部数据

点击此按钮后将自动执行完整数据管线流程

  1. 清空旧的加密二进制文件
  2. 读取表格自动生成对应的 C# 数据类
  3. 读取并解析表格实际数据 导出 JSON 数据
  4. 若全局设置中数据源为 二进制模式 则额外导出二进制文件(可在全局设置选择是否加密)

按钮调用:

DataHandleTool.HandleAllData();

适用场景:
每次你修改 Excel 后,都应该按这个按钮来更新游戏的所有配置数据。

2.2 清空加密数据

按钮名称:清空加密数据

点击后会执行:

  • 删除所有在 StreamingAssets/FinkFramework_Data路径下的文件
  • 删除所有在 PersistentDataPath下的FinkFramework_Data路径下的文件
  • 删除所有在`项目根目录/FinkFramework_Data/AutoExport 目录

按钮调用:

DataExportTool.ClearExportData();

适用场景:

  • 你想清理导出目录、重新开始
  • 你怀疑导出的加密文件过期、损坏或被污染

2.3 仅生成数据文件

按钮名称:仅生成数据文件

点击后会执行:

  1. 从 Excel 生成 C# 数据类(AutoGen 文件夹中)
  2. 生成位置取决于安装与初始化中的全局设置
  3. 若是设置为内部生成,则会自动触发编译;若是外部则不会编译

按钮调用:

DataGenTool.GenerateAllData();

适用场景:

  • 你正在调试生成逻辑
  • 修改了任意变量类型

2.4 仅解析导出数据

按钮名称:仅解析导出数据

点击后,工具会跳过 C# 数据类的生成,只执行“解析 → 序列化 → 导出”阶段,适用于 数据类结构已稳定,仅更新 Excel 内容时的快速导出。

执行流程如下:

2.4.1 读取已存在的 C# 数据结构类

工具会根据 Excel 文件名推导出:{ClassName}.cs{ClassName}Container.cs并要求它们已经存在。

若类不存在或未能正确反射到类型,会提示:

  • 数据结构类尚未生成,请先执行“仅生成数据文件”

(对应 DataExportTool 中:检查 dataType / containerType)

注意:若您同时创建了多个嵌套表格数据,请保证有数据结构类代码的情况下再执行解析导出数据

2.4.2 解析 Excel 表格内容

工具会逐行读取实际数据,并执行:

  • 字段类型解析(由 DataParseTool 完成)
  • 自动处理 List、数组、Vector、Color、Dictionary、自定义类等结构
  • 捕获解析警告与错误并输出日志
  • 用反射将解析结果填入数据对象
  • 解析完成后会得到一个完整的容器实例

2.4.3 根据全局设置决定导出路径

系统根据全局设置中的:

GlobalSettings.Current.CurrentDataLoadMode

决定数据导出行为,具体如下:

(1)JSON 数据永远会导出

但导出位置由模式决定:

当前数据源模式JSON 导出位置
JSON 模式Assets/StreamingAssets/FinkFramework_Data/DataJson
二进制模式项目根目录/FinkFramework_Data/AutoExport/DataJson

JSON 导出由 JsonExportTool 执行。

(2)若当前数据源为二进制模式,则额外导出二进制文件

导出路径始终是内部 StreamingAssets:Assets/StreamingAssets/FinkFramework_Data/DataBinary/

扩展名来自:GlobalSettings.Current.EncryptedExtension

二进制生成由 BinaryExportTool.ExportBinary() 执行。

2.4.4 是否对二进制进行AES加密

指由全局设置控制:GlobalSettings.Current.EnableEncryption

  • true → 使用 AES 加密(DataUtil.SaveEncrypted)
  • false → 明文二进制(DataUtil.SavePlain)

此行为与选择的数据源模式无关,完全是用户自由配置。

2.4.5 结束后自动刷新并清理缓存

自动调用 AssetDatabase.Refresh()

清理 FilesUtil 内部缓存,确保运行时读取最新数据文件

2.4.6 补充说明

仅解析导出数据 与 一键处理全部数据 的区别:

功能仅解析导出数据一键处理全部数据
清空旧数据
生成 C# 类✘(跳过)
等待重新编译✔(内部输出时)
导出 JSON
导出二进制仅 Binary 模式下仅 Binary 模式下

3. QA 验证(检查所有 Excel)

QA 按钮名称:验证所有表格

点击后会对所有 Excel 表执行严格的格式检查,包括:

  • 字段名是否重复
  • 字段类型是否匹配
  • 数组、列表、字典格式是否正确
  • 字段内容是否规范
  • 是否包含空白字段
  • 是否存在不支持的类型

按钮调用:

DataQATool.ValidateAllData();

所有结果都会实时输出到日志区域。

适用场景:

  • 打包前质量检查
  • Excel 调试阶段,用于发现策划填写错误
  • 大量表格更新后防止上线事故

4. 执行日志区域

日志系统支持:

  • 自动滚动
  • 富文本显示
  • 导出为 TXT 文件
  • 一键清空

日志示例:

[12:01:33] 执行操作:一键处理全部数据
[12:01:34] 生成所有数据成功
[12:01:34] 加密完成

日志导出:

ExportLog();

5. 相关工具脚本(调用关系)

模块职责说明(新版)
DataGenTool基于 Excel 表头生成 C# 数据类容器类。不解析数据、不导出文件。
DataParseTool将 Excel 单元格内容转换为实际 C# 对象(基础类型、集合、Json、自定义类、Vector、Color 等)。
DataExportTool执行“导出阶段”:
① 读取现有 C# 类结构并解析 Excel 数据
② 永远生成 JSON 文件
③ 若当前模式为二进制,则额外输出二进制文件
④ 处理清空旧数据等。
DataQAToolQA 测试:字段名检查、类型结构检查、逐格解析验证、统计全局结果。
DataHandleTool将所有流程组合成“一键处理”:清空 → 生成 C# →(等待编译)→ 解析数据 → 导出 JSON/二进制。
DataToolWindow编辑器可视化入口,不参与数据处理逻辑本身,仅负责触发 DataGenTool / DataExportTool / DataQATool / DataHandleTool。

数据工具面板让 Fink Framework 的数据管线真正做到:

  • 可视化
  • 一键化
  • 自动化
  • 可调试
  • 可验证

无需手动执行脚本,适合程序与策划共同使用,大幅提升生产效率。