ShitEngine
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
载入中...
搜索中...
未找到
RenderSystem.h
浏览该文件的文档.
1#pragma once
2#include "../Core/Core.h"
3#include "../Math.h"
5
6struct SDL_Renderer;
7
8namespace Shit {
9 class CameraComponent;
11
18 class SHIT_API RenderSystem final : public System {
19 public:
20 RenderSystem(int priority = 100);
21 ~RenderSystem() override;
22
23 void update() override;
24 void destroy() override;
25
30
31 private:
32 SDL_Renderer* m_renderer = nullptr;
33
34 std::vector<RendererComponent*> m_renderers;
35 bool m_isRenderersNeedSort = false;
36
37 std::vector<CameraComponent*> m_cameras;
38 bool m_isCamerasNeedSort = false;
39 };
40}
#define SHIT_API
定义 Core.h:12
相机组件,定义"从哪个角度观察世界"
定义 CameraComponent.h:15
RenderSystem(int priority=100)
void unregisterRenderer(RendererComponent *renderer)
注销渲染组件
void unregisterCamera(CameraComponent *camera)
注销相机
void update() override
每帧更新(纯虚)
void registerCamera(CameraComponent *camera)
注册相机
~RenderSystem() override
void registerRenderer(RendererComponent *renderer)
注册渲染组件
void destroy() override
销毁(纯虚)
渲染组件基类
定义 RendererComponent.h:18
System(int priority=0)
定义 AudioPlayer.h:9