aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/system/RenderSystem.cpp
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2024-11-20 14:59:34 +0100
committerLoek Le Blansch <loek@pipeframe.xyz>2024-11-20 14:59:34 +0100
commite2c27d8c99a71e5d94ffe49027ec13afeb74b021 (patch)
tree4bed8f7654c112e84bae6f8cce2ca2b2abe94cb4 /src/crepe/system/RenderSystem.cpp
parentc52742e049e68d5ad0beabf8647f543bc2497596 (diff)
replace more vector<reference_wrapper<T>> with RefVector
Diffstat (limited to 'src/crepe/system/RenderSystem.cpp')
-rw-r--r--src/crepe/system/RenderSystem.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/crepe/system/RenderSystem.cpp b/src/crepe/system/RenderSystem.cpp
index 96c5f27..7ee03e5 100644
--- a/src/crepe/system/RenderSystem.cpp
+++ b/src/crepe/system/RenderSystem.cpp
@@ -1,6 +1,5 @@
#include <algorithm>
#include <cassert>
-#include <functional>
#include <stdexcept>
#include <vector>
@@ -20,7 +19,7 @@ void RenderSystem::present_screen() { this->context.present_screen(); }
void RenderSystem::update_camera() {
ComponentManager & mgr = this->component_manager;
- std::vector<std::reference_wrapper<Camera>> cameras = mgr.get_components_by_type<Camera>();
+ RefVector<Camera> cameras = mgr.get_components_by_type<Camera>();
if (cameras.size() == 0) throw std::runtime_error("No cameras in current scene");
@@ -37,10 +36,8 @@ bool sorting_comparison(const Sprite & a, const Sprite & b) {
return false;
}
-std::vector<std::reference_wrapper<Sprite>>
-RenderSystem::sort(std::vector<std::reference_wrapper<Sprite>> & objs) {
-
- std::vector<std::reference_wrapper<Sprite>> sorted_objs(objs);
+RefVector<Sprite> RenderSystem::sort(RefVector<Sprite> & objs) {
+ RefVector<Sprite> sorted_objs(objs);
std::sort(sorted_objs.begin(), sorted_objs.end(), sorting_comparison);
return sorted_objs;
@@ -48,8 +45,8 @@ RenderSystem::sort(std::vector<std::reference_wrapper<Sprite>> & objs) {
void RenderSystem::render_sprites() {
ComponentManager & mgr = this->component_manager;
- vector<reference_wrapper<Sprite>> sprites = mgr.get_components_by_type<Sprite>();
- vector<reference_wrapper<Sprite>> sorted_sprites = this->sort(sprites);
+ RefVector<Sprite> sprites = mgr.get_components_by_type<Sprite>();
+ RefVector<Sprite> sorted_sprites = this->sort(sprites);
for (const Sprite & sprite : sorted_sprites) {
auto transforms = mgr.get_components_by_id<Transform>(sprite.game_object_id);