编辑器工具链
编辑器代码量约为运行时的 1.8 倍——这个框架的价值大半在工具链。
下表为源码里 MenuItem 属性的全量清单(可用 grep -rn 'MenuItem("' Editor Tests Samples~ 自行核对)。
菜单总览
| 菜单 | priority | 用途 |
|---|---|---|
HYC Framework/Config/Config Window | 0 | 配置窗口 |
HYC Framework/BT/BT Editor | 10 | 行为树编辑器画布 |
HYC Framework/BT/Export Blob (For Build) | 11 | 行为树导出(真机必做) |
HYC Framework/UI/Generate UI Binders | 20 | 生成组件绑定类 |
HYC Framework/Talent/Talent Tree Editor | 50 | 天赋树可视化编辑 |
HYC Framework/Scene Content/... | 70–72 | 场景内容物窗口 / 导出 |
HYC Framework/Cinemachine/Rig Editor | 80 | 相机 rig 编辑器 |
HYC Framework/Cinemachine/New Rig | 81 | 新建 rig prefab |
HYC Framework/Tools/Red Dot Viewer | 102 | 红点树只读状态查看 |
HYC Framework/Settings/Project Settings | 200 | 项目设置 |
HYC Framework/Samples/Import HYCSimple | 210 | 全量重拷示例到 Assets/HYCSimple/ |
菜单 priority 分档约定
⚠
每个叶子项都必须显式写 priority,否则默认 1000(不是 0)⇒ 沉底。
三档区间:内容 0–81 / 工具 100–102 / 项目 200–210。
相邻 priority 差 ≥ 11 才自动画分隔线(Unity 只在差值 ≥ 11 时画线:100 与 111 有、110 没有)。
父菜单顺序由其第一个子菜单的 priority 决定。
三档区间:内容 0–81 / 工具 100–102 / 项目 200–210。
相邻 priority 差 ≥ 11 才自动画分隔线(Unity 只在差值 ≥ 11 时画线:100 与 111 有、110 没有)。
父菜单顺序由其第一个子菜单的 priority 决定。
主要工具类
| 类 | 位置 | 职责 |
|---|---|---|
ConfigWindow / ConfigDataWindow | Editor/DataEditor/(48 文件,工具链最大块) | 配置窗口 + 数据编辑器 |
BTGraphWindow + BTGraphIMGUI | Editor/BT/ | 行为树编辑器宿主 + 画布主体(纯 IMGUI,无 UXML/USS) |
TalentTreeWindow | Editor/Talent/ | 天赋树可视化编辑(薄壳窗口 + IMGUI 画布) |
CinemachineRigWindow | Editor/Cinemachine/ | 相机 rig 编辑器 |
HYCEditorSettingsWindow | Editor 根目录 | 项目设置(见 项目设置) |
AssetTools | Editor 根目录 | 反查引用 / 清理丢失引用 |
HYCSimpleSampleImporter | Editor/Samples/ | 把 Samples~/HYCSimple 全量拷到 Assets/HYCSimple/ |
坑
Clean Missing Asset References会直接改资产文件——跑之前确保工作区干净,方便回滚。- NPOI 只在编辑器可用——别在运行时代码里引用
LocalizedExcelReader或 NPOI 类型。 DataEditor/大量字段抽屉依赖ConfigFieldType——加新字段类型时,抽屉渲染要同步加分支,否则新类型在编辑器里显示不出来。- BT 编辑器是纯 IMGUI,没有 UXML/USS;改界面直接改
BTGraphIMGUI.cs的绘制代码。 - 画布不做 GUIClip 裁剪——新增任何面板 / 浮层都要画在画布之后,否则会被节点盖住或反过来盖住节点。