# 配置表联动查看器 一个用于 Unity 项目的配置表联动关系可视化工具,支持跨项目复用。 ## 功能特性 - ✅ 支持 76+ 配置表的联动关系查看 - ✅ 自动检测项目中实际存在的配置表 - ✅ 智能搜索功能 - ✅ 快速跳转到关联表 - ✅ 显示数据格式说明 - ✅ 跨项目自动适配 ## 安装指南 ### 方法一:复制文件 1. 找到本项目中的 `ConfigLinkViewer` 文件夹: ``` Assets/Scripts/mgame/tools/ConfigLinkViewer/ ``` 2. 复制整个文件夹到目标项目的任意位置(建议保持相同路径): ``` 目标项目/Assets/Scripts/mgame/tools/ConfigLinkViewer/ ``` 3. 打开 Unity,等待脚本编译完成。 ### 方法二:Git 子模块(推荐) ```bash cd 你的项目目录 git submodule add <本工具仓库地址> Assets/Scripts/mgame/tools/ConfigLinkViewer ``` ## 使用说明 ### 打开工具 在 Unity 编辑器菜单中点击: ``` Tools → 配置表联动查看器 ``` ### 界面说明 | 区域 | 说明 | |------|------| | 搜索框 | 按表名、显示名、描述搜索配置表 | | 过滤选项 | 可选择只显示当前项目存在的表 | | 左侧列表 | 配置表列表,显示状态标记 | | 右侧详情 | 显示选中表的联动关系 | ### 操作指南 1. **选择配置表**:从左侧列表点击任意配置表 2. **查看联动关系**:右侧显示该表的所有字段关联 3. **展开详情**:点击折叠箭头查看详细信息 4. **跳转到关联表**:点击"查看 xxx 表"按钮跳转 5. **搜索过滤**:在搜索框输入关键词快速定位 ### 状态标识说明 | 标记 | 含义 | |------|------| | [存在] | 该表存在于当前项目 | | [缺失] | 该表不存在于当前项目 | | [目标表缺失] | 联动目标表不存在于当前项目 | ## 跨项目适配 工具会自动检测目标项目中的配置表: 1. 扫描路径:`Resources/Resources_moved/config/*.json` 2. 自动标记哪些表存在/缺失 3. 缺失的表不会影响工具正常运行 4. 联动到缺失表的跳转按钮会自动禁用 ## 配置表联动关系示例 ### 敌人表 (enemy) - reward_id → checkpointreward.id - 掉落奖励 - skills → skill.id - 技能列表 ### 商店表 (mall) - productId → prop.id - 商品道具ID - consumes → prop.id (格式: item_id_num) - 购买消耗 - rewards → prop.id (格式: item_id_num) - 购买获得奖励 ### 英雄表 (hero) - skills → skill.id - 技能列表 - equips → equip.id - 装备列表 - buffs → buff.id - 升阶解锁buff ## 数据格式说明 | 格式 | 示例 | 说明 | |------|------|------| | item_id_num | 1001_5 | 道具ID_数量 | | type_id_num | item_1001_5 | 类型_道具ID_数量 | | id_pos_lv | 101_2_5 | ID_位置_等级 | | id_lv_num | 101_5_3 | ID_等级_数量 | | id_lv_num_time | 101_5_3_30 | ID_等级_数量_时间 | ## 维护指南 ### 添加新表联动关系 编辑 `ConfigLinkDatabase.cs`,在 `GetAllTableInfo()` 方法中添加: ```csharp new ConfigTableInfo { tableName = "新表名", displayName = "显示名称", description = "表描述", relations = new List { new FieldRelation { fieldName = "字段名", targetTable = "目标表名", targetField = "目标字段", relationFormat = "数据格式(可选)", description = "说明文字" } } } ``` ### 清理缓存 如果配置表有变动,可以调用: ```csharp ConfigLinkDatabase.ClearCache(); ``` ## 技术支持 如有问题或建议,请联系开发者。 --- *版本: 1.0* *最后更新: 2026年5月*