|
ShitEngine
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
|
渲染系统 更多...
#include <RenderSystem.h>
Public 成员函数 | |
| RenderSystem (int priority=100) | |
| ~RenderSystem () override | |
| void | update () override |
| 每帧更新(纯虚) | |
| void | destroy () override |
| 销毁(纯虚) | |
| bool | onComponentAttached (Component *component) override |
| 组件挂载时调用。返回 true 表示本系统认领并处理了该组件(组件据此确定已注册)。 | |
| void | onComponentDetached (Component *component) override |
| 组件卸下时调用。 | |
| void | registerRenderer (RendererComponent *renderer) |
| 注册渲染组件 | |
| void | unregisterRenderer (RendererComponent *renderer) |
| 注销渲染组件 | |
| void | registerCamera (CameraComponent *camera) |
| 注册相机 | |
| void | unregisterCamera (CameraComponent *camera) |
| 注销相机 | |
| 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 |
| 所属场景 | |
渲染系统
每帧按优先级排序相机 → 按 Z-Index 排序渲染器 → 逐个相机裁剪渲染。 RendererComponent 的 onAttach / onDetach 自动调用 register / unregister。
| RenderSystem | ( | int | priority = 100 | ) |
|
override |
|
overridevirtual |
销毁(纯虚)
实现了 System.
|
overridevirtual |
组件挂载时调用。返回 true 表示本系统认领并处理了该组件(组件据此确定已注册)。
重载 System .
| void registerCamera | ( | CameraComponent * | camera | ) |
注册相机
| void registerRenderer | ( | RendererComponent * | renderer | ) |
注册渲染组件
| void unregisterCamera | ( | CameraComponent * | camera | ) |
注销相机
| void unregisterRenderer | ( | RendererComponent * | renderer | ) |
注销渲染组件
|
overridevirtual |
每帧更新(纯虚)
实现了 System.