Ember
A C++ 20 'game engine' built with SDL3 with wide platform support.
physics_sys.h
Go to the documentation of this file.
1 #pragma once
3 #include "engine_sys.h"
4 
5 
13 class PhysicsManager final : public EngineManager {
14 public:
15  std::unordered_set<PhysicsObject2D*> rigid_bodies;
16 
17  void register_body(PhysicsObject2D* body);
18 
19  void unregister_body(PhysicsObject2D* body);
20 
21  bool initialize() override;
22 
23  void update(double delta_time = 0) override;
24 
25  void shutdown() override;
26 
27  PhysicsManager() = default;
28  ~PhysicsManager() override = default;
29 protected:
30  const char* name = "PhysicsSystem";
31 
32 };
Base class for all engine systems.
Definition: engine_sys.h:10
PhysicsManager class.
Definition: physics_sys.h:13
void update(double delta_time=0) override
Definition: physics_sys.cpp:25
const char * name
Definition: physics_sys.h:30
void register_body(PhysicsObject2D *body)
Definition: physics_sys.cpp:12
PhysicsManager()=default
bool initialize() override
Definition: physics_sys.cpp:6
std::unordered_set< PhysicsObject2D * > rigid_bodies
Definition: physics_sys.h:15
void shutdown() override
Definition: physics_sys.cpp:89
~PhysicsManager() override=default
void unregister_body(PhysicsObject2D *body)
Definition: physics_sys.cpp:18
2D physical object node.
Definition: phys_obj.h:14