2.2 KiB
2.2 KiB
ComponentEditors
命名空间: XCEngine::Editor
类型: submodule
描述: Inspector 组件编辑器层,负责把运行时组件映射成可撤销、可交互的专用编辑 UI。
概述
当前组件编辑器系统走的是典型的“按组件类型注册专用 editor”路线:
- IComponentEditor 定义统一契约
- ComponentEditorRegistry 负责注册、拥有和查找 editor
- 各个具体 editor 只处理自己的组件 UI 与交互规则
这比把所有组件字段塞进一个通用 Inspector 渲染器更容易扩展,也更方便为特殊组件接入脚本元数据、引用选择器和撤销逻辑。
当前已记录的 editor
当前注册但尚未单独补页的 editor
按 ComponentEditorRegistry.cpp 当前实现,registry 还会注册:
MeshFilterComponentEditorMeshRendererComponentEditor
ScriptComponentEditor 在这层里的位置
ScriptComponentEditor 是这套系统里最依赖运行时元数据的一个 editor。它不是直接读取 ScriptComponent 自身的字段列表,而是通过 ScriptEngine::TryGetScriptFieldModel() 获取:
- 当前脚本类是否已分配 / 可用 / 缺失
- 字段元数据
- 默认值、stored override 和 live managed value 的合成结果
- stored-only / type mismatch 一类问题状态
因此它也是 ComponentEditors 子模块和 Scripting 子模块的主要交汇点。