3#include <box2d/box2d.h>
34 const std::vector<std::reference_wrapper<GameObject>>& objects);
42 std::unique_ptr<PhysicsWorld>&
world() noexcept;
64 bool debug_mode_{
false};
65 std::unique_ptr<PhysicsWorld> physics_world_{
nullptr};
66 std::unique_ptr<PhysicsRaycaster> physics_raycaster_{
nullptr};
67 std::unique_ptr<PhysicsCreationFactory> physics_creation_factory_{
nullptr};
Definition iEngineService.h:4
Factory class for creating physics bodies in the Box2D world.
Definition physics_creation_factory.h:20
Class responsible for raycasting in the physics world.
Definition physics_raycaster.h:16
Service responsible for managing the physics world.
Definition physics_service.h:18
std::unique_ptr< PhysicsWorld > & world() noexcept
Accessor for the physics world instance.
std::unique_ptr< PhysicsCreationFactory > & factory() noexcept
Accessor for the physics creation factory instance.
bool debug_mode() const noexcept
void update(float dt, const std::vector< std::reference_wrapper< GameObject > > &objects)
Updates the physics world by stepping the simulation.
std::unique_ptr< PhysicsRaycaster > & raycaster() noexcept
Accessor for the physics raycaster instance.