aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/system/RenderSystem.cpp
diff options
context:
space:
mode:
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);