// // Created by karl on 04.01.20. // #ifndef ECSGAME_GRAVITYSYSTEM_H #define ECSGAME_GRAVITYSYSTEM_H #include "../Components/Transform.h" #include "../ECS.h" using namespace ECS; class GravitySystem : public EntitySystem { public: explicit GravitySystem(float amount) { gravityAmount = amount; } void tick(World *pWorld, float deltaTime) override { pWorld->each([&](Entity *ent, ComponentHandle position) { position->translate(glm::vec3(0.0f, gravityAmount * deltaTime, 0.0f)); }); } private: float gravityAmount; }; #endif // ECSGAME_GRAVITYSYSTEM_H