From 5b7f4b3461a7108c8c320ffaa239b11b6ef5933c Mon Sep 17 00:00:00 2001 From: JAROWMR Date: Wed, 20 Nov 2024 10:54:36 +0100 Subject: empty test with static collison data from script --- src/test/CollisionTest.cpp | 82 ++++++++++++++++------------------------------ 1 file changed, 28 insertions(+), 54 deletions(-) (limited to 'src/test') diff --git a/src/test/CollisionTest.cpp b/src/test/CollisionTest.cpp index 83564e1..3c2ee6e 100644 --- a/src/test/CollisionTest.cpp +++ b/src/test/CollisionTest.cpp @@ -1,76 +1,50 @@ -#include +#include + #include #include #include #include +#include +#include +#include + +#include #include -#include + using namespace std; using namespace std::chrono_literals; using namespace crepe; + class MyScript : public Script { - static bool oncollision(const CollisionEvent& test) { - std::cout << "test collision: " << test.info.first.collider.game_object_id << std::endl; - return true; - } - void init() { - EventManager::get_instance().subscribe(oncollision, this->get_game_object_id()); - } - void update() { - // Retrieve component from the same GameObject this script is on - - } + public: + static crepe::CollisionSystem::CollisionInfo last_collision_info; + private: + static bool oncollision(const CollisionEvent& test) { + std::cout << "test collision: " << test.info.first.collider.game_object_id << std::endl; + return true; + } + void init() { + EventManager::get_instance().subscribe(oncollision, this->get_game_object_id()); + } + void update() { + // Retrieve component from the same GameObject this script is on + + } }; -class PhysicsTest : public ::testing::Test { +class CollisionTest : public ::testing::Test { public: ComponentManager component_manager; PhysicsSystem system{component_manager}; - + void SetUp() override { ComponentManager & mgr = this->component_manager; - vector> transforms - = mgr.get_components_by_id(0); - if (transforms.empty()) { - auto entity = mgr.new_object("", "", Vector2{0, 0}, 0, 0); - entity.add_component(Rigidbody::Data{ - .mass = 1, - .gravity_scale = 1, - .body_type = Rigidbody::BodyType::DYNAMIC, - .max_linear_velocity = Vector2{10, 10}, - .max_angular_velocity = 10, - .constraints = {0, 0}, - .use_gravity = true, - .bounce = false, - }); - } - transforms = mgr.get_components_by_id(0); - Transform & transform = transforms.front().get(); - transform.position.x = 0.0; - transform.position.y = 0.0; - transform.rotation = 0.0; - vector> rigidbodies - = mgr.get_components_by_id(0); - Rigidbody & rigidbody = rigidbodies.front().get(); - rigidbody.data.angular_velocity = 0; - rigidbody.data.linear_velocity.x = 0; - rigidbody.data.linear_velocity.y = 0; } }; -TEST_F(PhysicsTest, gravity) { - Config::get_instance().physics.gravity = 1; - ComponentManager & mgr = this->component_manager; - vector> transforms = mgr.get_components_by_id(0); - const Transform & transform = transforms.front().get(); - ASSERT_FALSE(transforms.empty()); - EXPECT_EQ(transform.position.y, 0); - - system.update(); - EXPECT_EQ(transform.position.y, 1); - - system.update(); - EXPECT_EQ(transform.position.y, 3); +TEST_F(CollisionTest, collision) { +//read static data +const CollisionEvent& test = MyScript::last_collision_info; } -- cgit v1.2.3