#ifndef PHYSICSSYSTEM_H #define PHYSICSSYSTEM_H #include "Game/Components/TransformComponent.h" #include "system.h" class PhysicsSystem : public System { public: PhysicsSystem(std::map>& dynamic_gameobjects, std::map& global_blackboard, std::map>>& lootables); void draw() override; void update(double deltaTime) override; void scrollEvent(double distance) override; void mousePosEvent(double xpos, double ypos) override; private: float gravitySimulation(float &initial_v, double deltaTime, float snapshot_time, float gravity); TransformComponent* getTransform(std::shared_ptr &go); std::map>& m_dynamic_gameobjects; std::map& m_global_blackboard; std::map>>& m_lootables; float horiz_velocity = .005f; float snapshot_time = 0.f; }; #endif // PHYSICSSYSTEM_H