ShitEngine
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
载入中...
搜索中...
未找到
UIRenderSystem.h
浏览该文件的文档.
1#pragma once
2#include "../Core/Core.h"
3#include "../Math.h"
5
6#include <vector>
7
8namespace Shit {
10
21 class SHIT_API UIRenderSystem final : public System {
22 public:
23 UIRenderSystem(int priority = 200);
24 ~UIRenderSystem() override;
25
26 void update() override;
27 void destroy() override;
28
29 // 组件认领:UIRendererComponent
30 bool onComponentAttached(Component* component) override;
31 void onComponentDetached(Component* component) override;
32
35
36 void markSortDirty() { m_isRenderersNeedSort = true; }
37
38 private:
39 std::vector<UIRendererComponent*> m_uiRenderers;
40 bool m_isRenderersNeedSort = false;
41 };
42}
#define SHIT_API
定义 Core.h:14
组件基类
定义 Component.h:20
System(int priority=0)
~UIRenderSystem() override
UIRenderSystem(int priority=200)
void update() override
每帧更新(纯虚)
void unregisterUIRenderer(UIRendererComponent *renderer)
注销 UI 渲染控件
bool onComponentAttached(Component *component) override
组件挂载时调用。返回 true 表示本系统认领并处理了该组件(组件据此确定已注册)。
void onComponentDetached(Component *component) override
组件卸下时调用。
void registerUIRenderer(UIRendererComponent *renderer)
注册 UI 渲染控件
void markSortDirty()
标记需要重排(zIndex 变更时调用)
定义 UIRenderSystem.h:36
void destroy() override
销毁(纯虚)
UI 渲染控件基类(对应游戏世界的 RendererComponent)
定义 UIRendererComponent.h:18
定义 AudioPlayer.h:10