配置表联动关系查看器
一个用于查看 Unity 项目中配置表联动关系的编辑器工具,支持跨项目复用。
功能特性
1. 配置表列表
- 支持搜索过滤配置表
- 显示表是否存在于当前项目
- 支持 TXT 文件(如敏感词表)
2. 联动关系查看
- 查看当前表关联哪些其他表
- 显示字段联动关系详情
- 支持跳转到关联表
3. 反向查询
- 查看哪些表引用了当前表
- 快速定位依赖关系
4. 数据格式可视化
- 自动解析数据格式
- 显示格式示例和说明
- 支持多种格式:item_id_num, id_pos_lv, id_lv_num 等
5. Excel 操作
- 一键打开配置表 Excel 文件
- 批量打开所有关联表
6. 导出配置
- 一键将 Excel 配置表批量导出为 JSON 和 C# 代码
- 通过 Tools → ConfigDeal → 导出配置 或窗口右上角按钮触发
7. 清理 Excel 空行
- 自动扫描 Excel 文件夹中所有 .xlsx 文件
- 检测并删除数据区域中第一列(id列)为空或非数字的行
- 直接修改 Excel 源文件,清理后可重新导出配置
- 通过窗口右上角"清理Excel空行"按钮触发
8. 跨项目适配
- 自动检测项目中存在的配置表
- 支持不同项目配置不同路径
安装指南
方法一:复制文件
- 复制
ConfigLinkViewer文件夹到目标项目 - 路径:
Assets/Editor/ConfigLinkViewer/
方法二:Git 子模块
git submodule add <repository-url> Assets/Editor/ConfigLinkViewer
使用说明
打开工具
在 Unity 编辑器菜单中点击:Tools → 配置表联动查看器
设置 Excel 路径
- 点击"选择文件夹"按钮
- 选择包含配置表 Excel 文件的文件夹
- 路径会自动保存
基本操作
| 操作 | 说明 |
|---|---|
| 单击列表项 | 选中配置表,查看详情 |
| 点击"打开表格" | 打开当前表的 Excel 文件 |
| 点击"批量打开关联表" | 打开所有关联的配置表 |
| 勾选"显示反向引用" | 查看哪些表引用了当前表 |
| 点击"清理Excel空行" | 清除 Excel 中 id 列为空的垃圾数据行 |
| 点击"导出配置" | 将 Excel 批量导出为 JSON 和 C# 代码 |
数据格式说明
| 格式 | 示例 | 说明 |
|---|---|---|
| item_id_num | 1001_10_5 | 类型:1001, ID:10, 数量:5 |
| type_id_num | 1001_10_5 | 类型:1001, ID:10, 数量:5 |
| id_pos_lv | 100_1_30 | ID:100, 位置:1, 等级:30 |
| id_lv_num | 100_30_5 | ID:100, 等级:30, 数量:5 |
| id_lv_num_time | 100_30_5_120 | ID:100, 等级:30, 数量:5, 时间:120秒 |
| buffid_lv | 5_3 | BuffID:5, 等级:3 |
| rune_id_num | 10_2 | 符文ID:10, 数量:2 |
| equip_id_num | 20_1 | 装备ID:20, 数量:1 |
跨项目复用
自动检测
工具会自动检测目标项目中的配置表:
- 检查
Resources/Resources_moved/config/目录 - 检查
Resources/config/目录 - TXT 文件检查 Excel 文件夹
添加新配置表
编辑 ConfigLinkDatabase.cs,在 GetAllTableInfo() 方法中添加新表:
new ConfigTableInfo {
tableName = "new_table",
displayName = "新表",
description = "新表描述",
relations = new List<FieldRelation> {
new FieldRelation {
fieldName = "field1",
targetTable = "target_table",
targetField = "id",
description = "关联说明"
}
}
}
文件结构
Assets/Editor/ConfigLinkViewer/
├── ConfigLinkDatabase.cs # 配置表数据和联动关系存储
├── ConfigLinkViewerWindow.cs # Unity编辑器窗口界面(含导出配置、清理空行功能)
└── README.md # 使用文档
支持的配置表
工具包含以下类型的配置表支持:
- 活动系统:activity, activityreward
- 成就系统:achievement
- 战斗系统:fight_fb1~4, fight_arena, fight_sample
- 英雄系统:hero, herolevel, herostage
- 道具系统:prop, mall
- 装备系统:equip, equiplevel, equipstage
- 技能系统:skill, skilllevel
- 符文系统:rune, runelevel
- 任务系统:quest
- VIP系统:vip, recharge
- 服务端文件:dirty_words.txt, 奖励格式说明.txt
注意事项
- Excel 文件命名必须与配置表名一致(如
enemy.xlsx) - 路径设置后会自动保存到 PlayerPrefs
- 建议将 Excel 文件夹设置为版本控制忽略
- TXT 文件需要放置在 Excel 文件夹中
- 推荐工作流:先点击"清理Excel空行"清除垃圾数据,再点击"导出配置"生成 JSON 和 C# 代码
- 清理空行会直接修改 Excel 源文件,建议操作前确认已提交到版本控制
更新日志
v1.0.0
- 配置表列表展示,支持搜索过滤和存在性检测
- 联动关系查看,支持正向关联和反向引用查询
- 数据格式可视化,自动解析并显示格式示例
- 支持 TXT 文件识别
- 左右面板自适应布局,窗口默认 900×600
- 一键打开 Excel 文件,支持批量打开关联表
- Excel 文件夹路径设置,自动保存到 PlayerPrefs
- 跨项目适配,自动检测项目中存在的配置表
- "导出配置"按钮,一键将 Excel 批量导出为 JSON 和 C# 代码
- "清理Excel空行"功能,自动检测并删除 Excel 中 id 列为空的垃圾数据行,直接操作 xlsx 内部 XML,兼容性好
许可证
MIT License