添加Windows工具,以及分类。
This commit is contained in:
144
Unity/配置表联动查看器/README.md
Normal file
144
Unity/配置表联动查看器/README.md
Normal file
@@ -0,0 +1,144 @@
|
||||
# 配置表联动查看器
|
||||
|
||||
一个用于 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月*
|
||||
Reference in New Issue
Block a user