Physics stuff

This commit is contained in:
Confideo-IOM
2026-08-25 22:10:54 +01:00
parent 1253571c17
commit 30538ae7ab
59 changed files with 1403 additions and 518 deletions
@@ -8,6 +8,12 @@
#include <box3d/box3d.h>
struct PhysicsVelocity
{
HydraID entity_id;
glm::vec3 velocity;
};
class HydraPhysicsSystem : public HydraSystem
{
public:
@@ -15,15 +21,17 @@ class HydraPhysicsSystem : public HydraSystem
void Initialise() override;
void Shutdown() override;
void SetTransform(HydraID entity_id);
void SetLinearVelocity(HydraID entity_id, glm::vec3 velocity);
void StepPhysics(float delta_t);
protected:
void InitialiseComponent(HydraID entity_id) override;
protected:
void DestroyComponent(HydraID entity_id) override;
virtual void UpdateSystem(float delta_t_seconds);
private:
b3WorldId m_world_id;
std::queue<HydraID> m_bodies_to_set;
std::queue<HydraID> m_bodies_to_set_transform;
std::queue<PhysicsVelocity> m_bodies_to_set_velocity;
};
#endif /* HYDRAPHYSICSSYSTEM */