ShitEngine 1.4.2
基于 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
21class SHIT_API SHIT_REFLECT(WhiteList) UIRenderSystem final : public System {
23public:
24 UIRenderSystem(int priority = 200);
25 ~UIRenderSystem() override;
26
27 void update() override;
28 void destroy() override;
29
30 // 组件认领:UIRendererComponent
31 bool onComponentAttached(Component* component) override;
32 void onComponentDetached(Component* component) override;
33
36
37 void markSortDirty() { m_isRenderersNeedSort = true; }
38
39 private:
40 std::vector<UIRendererComponent*> m_uiRenderers;
41 bool m_isRenderersNeedSort = false;
42 };
43}
#define SHIT_API
定义 Core.h:14
#define SHIT_REFLECT_BODY(Type)
定义 Macros.h:89
#define SHIT_REFLECT(Mode)
定义 Macros.h:86
组件基类
定义 Component.h:25
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:37
void destroy() override
销毁(纯虚)
UI 渲染控件基类(对应游戏世界的 RendererComponent)
定义 UIRendererComponent.h:18
定义 AnimationClip.h:12