aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/system/RenderSystem.cpp
diff options
context:
space:
mode:
authorheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-17 14:16:47 +0100
committerheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-17 14:16:47 +0100
commit68be6b67f79413cb4af0ca15262ca1547a7d0d41 (patch)
tree5bc75deae3bf94d4002428c459f36783f0d74d32 /src/crepe/system/RenderSystem.cpp
parentdff8c63a5af46fd3b0115e10efe9f0b67e9111b8 (diff)
finalized text rendering
Diffstat (limited to 'src/crepe/system/RenderSystem.cpp')
-rw-r--r--src/crepe/system/RenderSystem.cpp26
1 files changed, 5 insertions, 21 deletions
diff --git a/src/crepe/system/RenderSystem.cpp b/src/crepe/system/RenderSystem.cpp
index 2641435..42e4236 100644
--- a/src/crepe/system/RenderSystem.cpp
+++ b/src/crepe/system/RenderSystem.cpp
@@ -83,8 +83,11 @@ void RenderSystem::render_text() {
RefVector<Text> texts = mgr.get_components_by_type<Text>();
- for (const Text & text : texts) {
+ for (Text & text : texts) {
if (!text.active) continue;
+ if (!text.font.has_value()) text.font = ctx.get_font_from_name(text.font_family);
+ if (!text.font.has_value()) continue;
+
const Font & font = resource_manager.get<Font>(text.font.value());
const auto & transform
= mgr.get_components_by_id<Transform>(text.game_object_id).front().get();
@@ -149,11 +152,7 @@ void RenderSystem::render() {
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) {
- const Transform & transform
- = mgr.get_components_by_id<Transform>(text.game_object_id).front().get();
- this->render_text(text, transform);
- }
+
for (const Sprite & sprite : sorted_sprites) {
if (!sprite.active) continue;
const Transform & transform
@@ -166,18 +165,3 @@ void RenderSystem::render() {
this->render_normal(sprite, transform);
}
}
-void RenderSystem::render_text(Text & text, const Transform & tm) {
- SDLContext & ctx = this->mediator.sdl_context;
-
- if (!text.font.has_value()) {
- text.font = ctx.get_font_from_name(text.font_family);
- }
-
- ResourceManager & resource_manager = this->mediator.resource_manager;
-
- if (!text.font.has_value()) {
- return;
- }
- const Asset & font_asset = text.font.value();
- const Font & res = resource_manager.get<Font>(font_asset);
-}