Files
Planner_Tools/Unity/配置表联动查看器/README.md
2026-05-29 13:51:52 +08:00

145 lines
3.6 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 项目的配置表联动关系可视化工具,支持跨项目复用。
## 功能特性
- ✅ 支持 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<FieldRelation> {
new FieldRelation {
fieldName = "字段名",
targetTable = "目标表名",
targetField = "目标字段",
relationFormat = "数据格式(可选)",
description = "说明文字"
}
}
}
```
### 清理缓存
如果配置表有变动,可以调用:
```csharp
ConfigLinkDatabase.ClearCache();
```
## 技术支持
如有问题或建议,请联系开发者。
---
*版本: 1.0*
*最后更新: 2026年5月*