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

该窗口用于替代手动运行 DataGenTool、DataParseTool、DataExportTool 等脚本,让数据管线更加自动化、可视化、可调试、易于使用。
1. 面板概览
数据工具窗口主要包含三个区域:
- 主功能:一键生成与导出所有数据
- QA 验证:对所有 Excel 表进行字段与数据合法性校验
- 执行日志:输出所有操作的实时结果,可导出 TXT
界面示意图:

2. 主功能区域
该区域包括四个按钮。下面会逐个说明按钮名称、点击后执行的操作、背后调用的脚本等内容。
2.1 处理全部数据
按钮名称: 一键处理全部数据
点击此按钮后将自动执行完整数据管线流程:
- 清空旧的加密二进制文件
- 读取表格自动生成对应的 C# 数据类
- 读取并解析表格实际数据 导出 JSON 数据
- 若全局设置中数据源为 二进制模式 则额外导出二进制文件(可在全局设置选择是否加密)
按钮调用:
DataHandleTool.HandleAllData();
适用场景:
每次你修改 Excel 后,都应该按这个按钮来更新游戏的所有配置数据。
2.2 清空加密数据
按钮名称:清空加密数据
点击后会执行:
- 删除所有在
StreamingAssets/FinkFramework_Data路径下的文件 - 删除所有在
PersistentDataPath下的FinkFramework_Data路径下的文件 - 删除所有在`项目根目录/FinkFramework_Data/AutoExport 目录
按钮调用:
DataExportTool.ClearExportData();
适用场景:
- 你想清理导出目录、重新开始
- 你怀疑导出的加密文件过期、损坏或被污染
2.3 仅生成数据文件
按钮名称:仅生成数据文件
点击后会执行:
- 从 Excel 生成 C# 数据类(AutoGen 文件夹中)
- 生成位置取决于安装与初始化中的全局设置
- 若是设置为内部生成,则会自动触发编译;若是外部则不会编译
按钮调用:
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 文件 ③ 若当前模式为二进制,则额外输出二进制文件 ④ 处理清空旧数据等。 |
| DataQATool | QA 测试:字段名检查、类型结构检查、逐格解析验证、统计全局结果。 |
| DataHandleTool | 将所有流程组合成“一键处理”:清空 → 生成 C# →(等待编译)→ 解析数据 → 导出 JSON/二进制。 |
| DataToolWindow | 编辑器可视化入口,不参与数据处理逻辑本身,仅负责触发 DataGenTool / DataExportTool / DataQATool / DataHandleTool。 |
数据工具面板让 Fink Framework 的数据管线真正做到:
- 可视化
- 一键化
- 自动化
- 可调试
- 可验证
无需手动执行脚本,适合程序与策划共同使用,大幅提升生产效率。