diff options
author | heavydemon21 <nielsstunnebrink1@gmail.com> | 2024-12-17 13:36:35 +0100 |
---|---|---|
committer | heavydemon21 <nielsstunnebrink1@gmail.com> | 2024-12-17 13:36:35 +0100 |
commit | 31fe4b1d44a7a7114c7ef8c0c5310a6070214cb2 (patch) | |
tree | 14564711f3ce996ccb1000e3f4f07d265e6fab88 /src/crepe/system/RenderSystem.cpp | |
parent | 0c02511f6a64766174cb0db3beb4cc159d3efdf7 (diff) | |
parent | 69ca7fdd738fd4ed98aefc07bab5a43486a55619 (diff) |
Merge branch 'wouter/text-component' into niels/UI
Diffstat (limited to 'src/crepe/system/RenderSystem.cpp')
-rw-r--r-- | src/crepe/system/RenderSystem.cpp | 34 |
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); } - - - |