diff options
-rw-r--r-- | src/crepe/system/RenderSystem.cpp | 4 | ||||
-rw-r--r-- | src/test/InputTest.cpp | 32 | ||||
-rw-r--r-- | src/test/RenderSystemTest.cpp | 21 |
3 files changed, 27 insertions, 30 deletions
diff --git a/src/crepe/system/RenderSystem.cpp b/src/crepe/system/RenderSystem.cpp index 241e833..830d380 100644 --- a/src/crepe/system/RenderSystem.cpp +++ b/src/crepe/system/RenderSystem.cpp @@ -46,8 +46,8 @@ SDLContext::CameraValues RenderSystem::update_camera() { } bool sorting_comparison(const Sprite & a, const Sprite & b) { - if (a.data.sorting_in_layer < b.data.sorting_in_layer) return true; - if (a.data.sorting_in_layer == b.data.sorting_in_layer) + if (a.data.sorting_in_layer != b.data.sorting_in_layer) return a.data.sorting_in_layer < b.data.sorting_in_layer; + if (a.data.order_in_layer != b.data.order_in_layer) return a.data.order_in_layer < b.data.order_in_layer; return false; diff --git a/src/test/InputTest.cpp b/src/test/InputTest.cpp index cb9833f..a7c0157 100644 --- a/src/test/InputTest.cpp +++ b/src/test/InputTest.cpp @@ -60,8 +60,8 @@ protected: TEST_F(InputTest, MouseDown) { GameObject obj = mgr.new_object("camera", "camera", vec2{0, 0}, 0, 1); - auto & camera = obj.add_component<Camera>(Color::BLACK, ivec2{0, 0}, vec2{500, 500}, 0.0, - vec2{0, 0}); + auto & camera = obj.add_component<Camera>( + ivec2{100, 100}, vec2{100, 100}, Camera::Data{.bg_color = Color::WHITE, .zoom = 1.0f}); camera.active = true; bool mouse_triggered = false; EventHandler<MousePressEvent> on_mouse_down = [&](const MousePressEvent & event) { @@ -90,8 +90,8 @@ TEST_F(InputTest, MouseDown) { TEST_F(InputTest, MouseUp) { GameObject obj = mgr.new_object("camera", "camera", vec2{0, 0}, 0, 1); - auto & camera = obj.add_component<Camera>(Color::BLACK, ivec2{0, 0}, vec2{500, 500}, 0.0, - vec2{0, 0}); + auto & camera = obj.add_component<Camera>( + ivec2{100, 100}, vec2{100, 100}, Camera::Data{.bg_color = Color::WHITE, .zoom = 1.0f}); camera.active = true; bool function_triggered = false; EventHandler<MouseReleaseEvent> on_mouse_release = [&](const MouseReleaseEvent & e) { @@ -118,8 +118,8 @@ TEST_F(InputTest, MouseUp) { TEST_F(InputTest, MouseMove) { GameObject obj = mgr.new_object("camera", "camera", vec2{0, 0}, 0, 1); - auto & camera = obj.add_component<Camera>(Color::BLACK, ivec2{0, 0}, vec2{500, 500}, 0.0, - vec2{0, 0}); + auto & camera = obj.add_component<Camera>( + ivec2{100, 100}, vec2{100, 100}, Camera::Data{.bg_color = Color::WHITE, .zoom = 1.0f}); camera.active = true; bool function_triggered = false; EventHandler<MouseMoveEvent> on_mouse_move = [&](const MouseMoveEvent & e) { @@ -148,8 +148,8 @@ TEST_F(InputTest, MouseMove) { TEST_F(InputTest, KeyDown) { GameObject obj = mgr.new_object("camera", "camera", vec2{0, 0}, 0, 1); - auto & camera = obj.add_component<Camera>(Color::BLACK, ivec2{0, 0}, vec2{500, 500}, 0.0, - vec2{0, 0}); + auto & camera = obj.add_component<Camera>( + ivec2{100, 100}, vec2{100, 100}, Camera::Data{.bg_color = Color::WHITE, .zoom = 1.0f}); camera.active = true; bool function_triggered = false; @@ -179,8 +179,8 @@ TEST_F(InputTest, KeyDown) { TEST_F(InputTest, KeyUp) { GameObject obj = mgr.new_object("camera", "camera", vec2{0, 0}, 0, 1); - auto & camera = obj.add_component<Camera>(Color::BLACK, ivec2{0, 0}, vec2{500, 500}, 0.0, - vec2{0, 0}); + auto & camera = obj.add_component<Camera>( + ivec2{100, 100}, vec2{100, 100}, Camera::Data{.bg_color = Color::WHITE, .zoom = 1.0f}); camera.active = true; bool function_triggered = false; EventHandler<KeyReleaseEvent> on_key_release = [&](const KeyReleaseEvent & event) { @@ -203,8 +203,8 @@ TEST_F(InputTest, KeyUp) { TEST_F(InputTest, MouseClick) { GameObject obj = mgr.new_object("camera", "camera", vec2{0, 0}, 0, 1); - auto & camera = obj.add_component<Camera>(Color::BLACK, ivec2{0, 0}, vec2{500, 500}, 0.0, - vec2{0, 0}); + auto & camera = obj.add_component<Camera>( + ivec2{100, 100}, vec2{100, 100}, Camera::Data{.bg_color = Color::WHITE, .zoom = 1.0f}); camera.active = true; bool on_click_triggered = false; EventHandler<MouseClickEvent> on_mouse_click = [&](const MouseClickEvent & event) { @@ -224,8 +224,8 @@ TEST_F(InputTest, MouseClick) { TEST_F(InputTest, testButtonClick) { GameObject obj = mgr.new_object("camera", "camera", vec2{0, 0}, 0, 1); - auto & camera = obj.add_component<Camera>(Color::BLACK, ivec2{0, 0}, vec2{500, 500}, 0.0, - vec2{0, 0}); + auto & camera = obj.add_component<Camera>( + ivec2{100, 100}, vec2{100, 100}, Camera::Data{.bg_color = Color::WHITE, .zoom = 1.0f}); camera.active = true; GameObject button_obj = mgr.new_object("body", "person", vec2{0, 0}, 0, 1); bool button_clicked = false; @@ -251,8 +251,8 @@ TEST_F(InputTest, testButtonClick) { TEST_F(InputTest, testButtonHover) { GameObject obj = mgr.new_object("camera", "camera", vec2{0, 0}, 0, 1); - auto & camera = obj.add_component<Camera>(Color::BLACK, ivec2{0, 0}, vec2{500, 500}, 0.0, - vec2{0, 0}); + auto & camera = obj.add_component<Camera>( + ivec2{100, 100}, vec2{100, 100}, Camera::Data{.bg_color = Color::WHITE, .zoom = 1.0f}); camera.active = true; GameObject button_obj = mgr.new_object("body", "person", vec2{0, 0}, 0, 1); bool button_clicked = false; diff --git a/src/test/RenderSystemTest.cpp b/src/test/RenderSystemTest.cpp index 4868ddd..205f534 100644 --- a/src/test/RenderSystemTest.cpp +++ b/src/test/RenderSystemTest.cpp @@ -1,3 +1,4 @@ +#include "types.h" #include <functional> #include <gtest/gtest.h> #include <memory> @@ -141,10 +142,8 @@ TEST_F(RenderSystemTest, sorting_sprites) { } TEST_F(RenderSystemTest, Update) { - entity1.add_component<Camera>(Camera::Data{.bg_color = Color::WHITE, - .screen = ivec2{1080, 720}, - .viewport_size = vec2{2000, 2000}, - .zoom = 1.0f}); + entity1.add_component<Camera>(ivec2{100, 100}, vec2{100, 100}, + Camera::Data{.bg_color = Color::WHITE, .zoom = 1.0f}); { vector<reference_wrapper<Sprite>> sprites = this->mgr.get_components_by_type<Sprite>(); ASSERT_EQ(sprites.size(), 4); @@ -172,10 +171,9 @@ TEST_F(RenderSystemTest, Camera) { EXPECT_NE(cameras.size(), 1); } { - entity1.add_component<Camera>(Camera::Data{.bg_color = Color::WHITE, - .screen = ivec2{1080, 720}, - .viewport_size = vec2{2000, 2000}, - .zoom = 1.0f}); + entity1.add_component<Camera>(ivec2{100, 100}, vec2{100, 100}, + Camera::Data{.bg_color = Color::WHITE, .zoom = 1.0f}); + auto cameras = this->mgr.get_components_by_type<Camera>(); EXPECT_EQ(cameras.size(), 1); } @@ -183,10 +181,9 @@ TEST_F(RenderSystemTest, Camera) { //TODO improve with newer version } TEST_F(RenderSystemTest, Color) { - entity1.add_component<Camera>(Camera::Data{.bg_color = Color::WHITE, - .screen = ivec2{1080, 720}, - .viewport_size = vec2{2000, 2000}, - .zoom = 1.0f}); + entity1.add_component<Camera>(ivec2{100, 100}, vec2{100, 100}, + Camera::Data{.bg_color = Color::WHITE, .zoom = 1.0f}); + auto & sprite = this->mgr.get_components_by_id<Sprite>(entity1.id).front().get(); ASSERT_NE(sprite.texture.texture.get(), nullptr); |