aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/system/RenderSystem.cpp
diff options
context:
space:
mode:
authorheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-17 13:36:35 +0100
committerheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-17 13:36:35 +0100
commit31fe4b1d44a7a7114c7ef8c0c5310a6070214cb2 (patch)
tree14564711f3ce996ccb1000e3f4f07d265e6fab88 /src/crepe/system/RenderSystem.cpp
parent0c02511f6a64766174cb0db3beb4cc159d3efdf7 (diff)
parent69ca7fdd738fd4ed98aefc07bab5a43486a55619 (diff)
Merge branch 'wouter/text-component' into niels/UI
Diffstat (limited to 'src/crepe/system/RenderSystem.cpp')
-rw-r--r--src/crepe/system/RenderSystem.cpp34
1 files changed, 13 insertions, 21 deletions
diff --git a/src/crepe/system/RenderSystem.cpp b/src/crepe/system/RenderSystem.cpp
index 578a4c0..872ba29 100644
--- a/src/crepe/system/RenderSystem.cpp
+++ b/src/crepe/system/RenderSystem.cpp
@@ -10,8 +10,8 @@
#include "../api/ParticleEmitter.h"
#include "../api/Sprite.h"
#include "../api/Text.h"
-#include "../facade/Font.h"
#include "../api/Transform.h"
+#include "../facade/Font.h"
#include "../facade/SDLContext.h"
#include "../facade/Texture.h"
#include "../manager/ComponentManager.h"
@@ -25,7 +25,6 @@
using namespace crepe;
using namespace std;
-
void RenderSystem::clear_screen() {
SDLContext & ctx = this->mediator.sdl_context;
ctx.clear_screen();
@@ -145,12 +144,11 @@ void RenderSystem::render() {
RefVector<Sprite> sprites = mgr.get_components_by_type<Sprite>();
ResourceManager & resource_manager = this->mediator.resource_manager;
RefVector<Sprite> sorted_sprites = this->sort(sprites);
- RefVector<Text> text_components = mgr.get_components_by_type<Text>();
- for(Text& text : text_components){
+ RefVector<Text> text_components = mgr.get_components_by_type<Text>();
+ for (Text & text : text_components) {
const Transform & transform
= mgr.get_components_by_id<Transform>(text.game_object_id).front().get();
- this->render_text(text,transform);
-
+ this->render_text(text, transform);
}
for (const Sprite & sprite : sorted_sprites) {
if (!sprite.active) continue;
@@ -162,26 +160,20 @@ void RenderSystem::render() {
if (rendered_particles) continue;
this->render_normal(sprite, transform);
-
-
-
}
-
}
void RenderSystem::render_text(Text & text, const Transform & tm) {
- SDLContext & ctx = this->mediator.sdl_context;
+ SDLContext & ctx = this->mediator.sdl_context;
- // Check if font is available in text
- if (!text.font.has_value()) {
- }
+ if (!text.font.has_value()) {
+ text.font = ctx.get_font_from_name(text.font_family);
+ }
- ResourceManager & resource_manager = this->mediator.resource_manager;
+ ResourceManager & resource_manager = this->mediator.resource_manager;
- if (text.font.has_value()) {
- const Asset& font_asset = text.font.value();
- const Font & res = resource_manager.get<Font>(font_asset);
+ if (!text.font.has_value()) {
+ return;
}
+ const Asset & font_asset = text.font.value();
+ const Font & res = resource_manager.get<Font>(font_asset);
}
-
-
-