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