|
ShitEngine
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
|
UI 渲染系统 更多...
#include <UIRenderSystem.h>
Public 成员函数 | |
| UIRenderSystem (int priority=200) | |
| ~UIRenderSystem () override | |
| void | update () override |
| 每帧更新(纯虚) | |
| void | destroy () override |
| 销毁(纯虚) | |
| bool | onComponentAttached (Component *component) override |
| 组件挂载时调用。返回 true 表示本系统认领并处理了该组件(组件据此确定已注册)。 | |
| void | onComponentDetached (Component *component) override |
| 组件卸下时调用。 | |
| void | registerUIRenderer (UIRendererComponent *renderer) |
| 注册 UI 渲染控件 | |
| void | unregisterUIRenderer (UIRendererComponent *renderer) |
| 注销 UI 渲染控件 | |
| void | markSortDirty () |
| 标记需要重排(zIndex 变更时调用) | |
| Public 成员函数 继承自 System | |
| System (int priority=0) | |
| virtual | ~System () |
| virtual void | init () |
| 初始化(可覆写) | |
| Scene * | getScene () const |
| void | setScene (Scene *scene) |
| int | getPriority () const |
| void | setPriority (int priority) |
额外继承的成员函数 | |
| Protected 成员函数 继承自 System | |
| void | resetComponent (Component *comp) |
| 内部:把认领过的组件标记为未注册(系统销毁/注销时调用)。 否则组件 m_isRegistered 残留 true,同类系统重新注册时 System::init 补扫会跳过它们, 导致组件永久失去驱动系统。 | |
| Protected 属性 继承自 System | |
| int | m_priority |
| 优先级(小值先执行) | |
| Scene * | m_scene = nullptr |
| 所属场景 | |
UI 渲染系统
每帧执行两件事:
UIRendererComponent 的 onAttach / onDetach 自动注册 / 注销。 priority 默认 200,晚于 RenderSystem(100),确保 UI 绘制在游戏世界之后。
| UIRenderSystem | ( | int | priority = 200 | ) |
|
override |
|
overridevirtual |
销毁(纯虚)
实现了 System.
|
inline |
标记需要重排(zIndex 变更时调用)
|
overridevirtual |
组件挂载时调用。返回 true 表示本系统认领并处理了该组件(组件据此确定已注册)。
重载 System .
| void registerUIRenderer | ( | UIRendererComponent * | renderer | ) |
注册 UI 渲染控件
| void unregisterUIRenderer | ( | UIRendererComponent * | renderer | ) |
注销 UI 渲染控件
|
overridevirtual |
每帧更新(纯虚)
实现了 System.