1.1 KiB
1.1 KiB
PanelCollection
命名空间: XCEngine::Editor
类型: class
源文件: editor/src/panels/PanelCollection.h
描述: 负责持有一组 Panel 对象,并统一处理上下文注入、attach/detach、update、event dispatch 和 render。
概述
PanelCollection 是当前面板系统的统一调度容器。
它提供:
SetContext()给全部面板注入上下文Emplace<TPanel>()构造并注册新面板AttachAll()/DetachAll()UpdateAll()/DispatchEvent()/RenderAll()Clear()
当前实现说明
- 面板以
std::unique_ptr<Panel>保存在内部数组中。 SetContext()会把上下文补发给之前尚未绑定上下文的面板。DetachAll()当前按逆序拆除面板,这个细节是合理的。
设计说明
在当前编辑器规模下,用一个简单容器统一驱动所有面板生命周期,比引入更复杂的窗口管理框架更务实。