Files
Planner_Tools/Unity/配置表联动查看器/README.md
2026-05-29 19:44:56 +08:00

165 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 配置表联动关系查看器
一个用于查看 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. 跨项目适配
- 自动检测项目中存在的配置表
- 支持不同项目配置不同路径
## 安装指南
### 方法一:复制文件
1. 复制 `ConfigLinkViewer` 文件夹到目标项目
2. 路径:`Assets/Editor/ConfigLinkViewer/`
### 方法二Git 子模块
```bash
git submodule add <repository-url> Assets/Editor/ConfigLinkViewer
```
## 使用说明
### 打开工具
在 Unity 编辑器菜单中点击:`Tools → 配置表联动查看器`
### 设置 Excel 路径
1. 点击"选择文件夹"按钮
2. 选择包含配置表 Excel 文件的文件夹
3. 路径会自动保存
### 基本操作
| 操作 | 说明 |
|------|------|
| 单击列表项 | 选中配置表,查看详情 |
| 点击"打开表格" | 打开当前表的 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()` 方法中添加新表:
```csharp
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
## 注意事项
1. Excel 文件命名必须与配置表名一致(如 `enemy.xlsx`
2. 路径设置后会自动保存到 PlayerPrefs
3. 建议将 Excel 文件夹设置为版本控制忽略
4. TXT 文件需要放置在 Excel 文件夹中
5. 推荐工作流:先点击"清理Excel空行"清除垃圾数据,再点击"导出配置"生成 JSON 和 C# 代码
6. 清理空行会直接修改 Excel 源文件,建议操作前确认已提交到版本控制
## 更新日志
### v1.0.0
- 配置表列表展示,支持搜索过滤和存在性检测
- 联动关系查看,支持正向关联和反向引用查询
- 数据格式可视化,自动解析并显示格式示例
- 支持 TXT 文件识别
- 左右面板自适应布局,窗口默认 900×600
- 一键打开 Excel 文件,支持批量打开关联表
- Excel 文件夹路径设置,自动保存到 PlayerPrefs
- 跨项目适配,自动检测项目中存在的配置表
- "导出配置"按钮,一键将 Excel 批量导出为 JSON 和 C# 代码
- "清理Excel空行"功能,自动检测并删除 Excel 中 id 列为空的垃圾数据行,直接操作 xlsx 内部 XML兼容性好
## 许可证
MIT License