ShitEngine
基于 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
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
33
void
registerUIRenderer
(
UIRendererComponent
* renderer);
34
void
unregisterUIRenderer
(
UIRendererComponent
* renderer);
35
36
void
markSortDirty
() { m_isRenderersNeedSort =
true
; }
37
38
private
:
39
std::vector<UIRendererComponent*> m_uiRenderers;
40
bool
m_isRenderersNeedSort =
false
;
41
};
42
}
Core.h
SHIT_API
#define SHIT_API
定义
Core.h:14
Math.h
System.h
Shit::Component
组件基类
定义
Component.h:20
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:36
Shit::UIRenderSystem::destroy
void destroy() override
销毁(纯虚)
Shit::UIRendererComponent
UI 渲染控件基类(对应游戏世界的 RendererComponent)
定义
UIRendererComponent.h:18
Shit
定义
AudioPlayer.h:10
include
ShitEngine
UI
UIRenderSystem.h
制作者
1.17.0