1.2 KiB
1.2 KiB
PanelCollection Attach / Detach / Clear
命名空间: XCEngine::Editor
类型: method group
源文件: editor/src/panels/PanelCollection.h
签名
void AttachAll();
void DetachAll();
void Clear();
作用
统一管理 collection 内所有面板的 attach / detach 生命周期,以及最终容器清空。
当前实现行为
AttachAll()
- 按容器正序遍历所有面板,并调用
panel->OnAttach()。
DetachAll()
- 按容器逆序遍历所有面板,并调用
panel->OnDetach()。 - 这意味着当前拆除顺序与构造顺序相反,适合让后创建的 UI 元素先释放。
Clear()
- 直接清空内部
std::vector<std::unique_ptr<Panel>>。 - 当前不会自动补做
DetachAll(),因此通常应在上层先完成 detach 再 clear。
设计含义
DetachAll()的逆序行为是当前实现里很关键的生命周期细节。Clear()与DetachAll()分开,也让上层能显式控制拆除时机。