#include "PrecompiledHeader.h" #include #include "Core/World.h" #include "Core/EventBroker.h" #include "Physics/PhysicsSystem.h" #include "Transform/TransformSystem.h" #include "Physics/CPhysics.h" #include "Physics/CRectangleShape.h" using namespace dd; BOOST_AUTO_TEST_CASE(RemovePhysicsSystemTest) { // Setup world std::shared_ptr eventBroker = std::make_shared(); World world(eventBroker); world.SystemFactory.Register( [this]() { return new Systems::TransformSystem(&world, eventBroker); }); world.AddSystem(); world.SystemFactory.Register( [this]() { return new Systems::PhysicsSystem(&world, eventBroker); }); world.AddSystem(); world.ComponentFactory.Register(); world.ComponentFactory.Register(); //Create entity EntityID ent = world.CreateEntity(); auto transform = world.AddComponent(ent); transform->Position = glm::vec3(20.f, 0.f, -10.f); transform->Velocity = glm::vec3(1.f, 3.f, 0.f); transform->Scale = glm::vec3(2.f, 5.f, 1.f); auto physics = world.AddComponent(ent); physics->Static = false; physics->Calculate = true; physics->Category = CollisionLayer::Type::Ball; physics->Mask = CollisionLayer::Type::Brick | CollisionLayer::Type::Pad | CollisionLayer::Wall; physics->GravityScale = 0.f; auto rectangle = world.AddComponent(ent); }