1.2 KiB
1.2 KiB
Panel
命名空间: XCEngine::Editor
类型: class (abstract base)
源文件: editor/src/panels/Panel.h
描述: 所有编辑器面板的抽象基类,定义 attach/detach/update/event/render 生命周期与上下文注入能力。
概述
Panel 当前是所有具体面板的共同基类。
它提供:
- 名称
- 开关状态
IEditorContext*- 一组可覆写生命周期钩子
关键接口
| 方法 | 作用 |
|---|---|
OnAttach() / OnDetach() |
面板挂接与拆除。 |
OnUpdate(float) |
每帧更新。 |
OnEvent(void*) |
处理外部事件。 |
Render() |
渲染面板 UI。 |
GetName() |
获取面板名。 |
IsOpen() / SetOpen() / Toggle() |
控制开关状态。 |
SetContext() / GetContext() / HasContext() |
管理编辑器上下文。 |
当前实现边界
SetContext()当前带断言,不允许重复设置上下文。- 事件参数是
void*,说明当前事件分发层还比较宽松,没有统一强类型 UI 事件基类。