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

配置表联动关系查看器

一个用于查看 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 子模块

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() 方法中添加新表:

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