# 配置表联动关系查看器 一个用于查看 Unity 项目中配置表联动关系的编辑器工具,支持跨项目复用。 ## 功能特性 - **配置表管理**:搜索过滤、存在性检测、支持 TXT 文件 - **联动关系查看**:正向关联和反向引用查询,支持跳转到关联表 - **数据格式可视化**:自动解析 `item_id_num`、`id_lv_num` 等复合格式 - **Excel 操作**:一键打开配置表,批量打开关联表 - **导出配置**:批量导出为 JSON 和 C# 代码 - **清理空行**:自动检测并删除 Excel 中 `id` 列为空的垃圾数据行 - **智能体辅助**:支持 AI 智能体高效维护配置文件 ## 安装 1. 复制 `ConfigLinkViewer` 文件夹到目标项目的 `Assets/Editor/` 下 2. 或使用 Git 子模块: ```bash git submodule add Assets/Editor/ConfigLinkViewer ``` ## 快速上手 Unity 编辑器菜单:`Tools → 配置表联动查看器` ### 界面布局 | 区域 | 功能 | |------|------| | 左侧面板 | 配置表列表,支持搜索过滤 | | 右侧面板 | 当前表详情、联动关系、数据格式示例 | | 顶部按钮 | 日常操作(清理空行、导出配置、刷新) | | 配置标签页 | 路径设置、配置生成、智能体辅助 | ### 按钮说明 **日常操作:** | 按钮 | 说明 | |------|------| | 清理Excel空行 | 删除 Excel 中 `id` 列为空或非数字的行 | | 导出配置 | 将 Excel 批量导出为 JSON 和 C# 代码 | | 打开表格 | 打开当前选中表的 Excel 文件 | | 批量打开关联表 | 打开所有关联的配置表 | **配置操作:** | 按钮 | 说明 | |------|------| | 生成配置 | 扫描 Excel 文件夹,生成 `ConfigLinkData.json` 骨架 | | 补全配置 | 运行 Python 脚本,自动分析字段引用关系 | | 刷新 | 重新加载配置文件 | ## 使用流程 ### 首次配置 1. 切换到「配置」标签页 2. 设置 Excel 文件夹路径 3. 点击「生成配置」生成骨架 4. 点击「补全配置」自动分析引用关系 ### 日常维护 1. 策划修改 Excel 后,点击「清理Excel空行」 2. 点击「导出配置」生成运行时数据 ### 智能体辅助 当需要补充中文配置或联动关系时,可使用 AI 智能体: **推荐提示词模板:** ```plaintext 请帮我维护配置表联动查看器的配置文件: - 目录:d:\Project\Unity\YY9\YY9_game\unity\Assets\Editor\ConfigLinkViewer\ - 补充缺失的中文名称和描述 - 添加未识别的字段引用关系 - 同时更新 table_info.json 和 ConfigLinkData.json ``` **常见场景:** | 场景 | 操作 | |------|------| | 添加新表 | 在两份文件中添加 displayName 和 description | | 添加关联 | 在 ConfigLinkData.json 的 relations 中添加 | | 同步配置 | 将 ConfigLinkData.json 的中文配置同步到 table_info.json | ## 数据格式说明 | 格式 | 示例 | 说明 | |------|------|------| | `item_id_num` | `1001_10_5` | 类型:1001, ID:10, 数量:5 | | `id_lv_num` | `100_30_5` | ID:100, 等级:30, 数量:5 | | `id_lv_count_delay` | `100_30_5_120` | ID:100, 等级:30, 数量:5, 时间:120秒 | ## 配置文件格式 ### ConfigLinkData.json ```json { "tables": [ { "name": "hero", "displayName": "英雄", "description": "英雄基础属性配置", "fileExtension": ".xlsx", "relations": [ { "field": "skill_ids", "target": "skill", "targetField": "id", "format": "", "description": "技能ID列表" } ] } ] } ``` ### table_info.json(中文名称数据源) ```json { "entries": [ { "name": "hero", "displayName": "英雄", "description": "英雄基础属性配置" } ] } ``` ## 文件结构 ``` Assets/Editor/ConfigLinkViewer/ ├── ConfigLinkViewerWindow.cs # 编辑器窗口界面 ├── ConfigLinkDatabase.cs # 数据管理和格式解析 ├── generate_config_link_data.py # 自动分析脚本 ├── ConfigLinkData.json # 完整配置数据 ├── settings.json # 路径和格式模板配置 ├── table_info.json # 中文名/描述(共用数据源) └── README.md # 使用文档 ``` ## 注意事项 1. Excel 文件命名必须与配置表名一致(如 `hero.xlsx`) 2. 路径设置自动保存到 `EditorUserSettings`,多项目隔离 3. 清理空行会直接修改 Excel 源文件,建议先提交版本控制 4. 补全配置需要 Python 环境 5. 编辑配置文件后点击「刷新」重新加载 ## 配置文件同步规则 | 文件 | 存储内容 | 更新时机 | |------|----------|----------| | `table_info.json` | 中文名称、描述 | 添加新表或修改中文名时 | | `ConfigLinkData.json` | 完整配置 + 联动关系 | 生成/补全配置、添加关联关系时 | ## 更新日志 ### v2.0.1 - 优化智能体提示词,支持联动关系分析 - 修复配置表列表滚动区域高度计算问题 - 更新 Python 脚本的 AI 提示词格式 ### v2.0.0 — 零依赖重构 - 移除所有 `MFrame` 直接引用,拖入即用 - 新增 `settings.json`,零代码扩展格式类型 - 新增 `table_info.json`,Python 和 C# 共用中文名数据源 - 窗口拆分为「查看」和「配置」两个标签页 - 编辑器启动时自动检测 MFrame 框架并绑定回调 ### v1.0.1 - 修复 Excel 共享字符串解析问题 - 新增 `t="s"` 和 `t="inlineStr"` 单元格类型解析 ### v1.0.0 - 初始版本,支持配置表列表、联动关系查看、Excel 操作 ## 许可证 MIT License