#ifndef ENVIRONMENTCOLLISIONDETECTIONSYSTEM_H #define ENVIRONMENTCOLLISIONDETECTIONSYSTEM_H #include "Game/Components/CollisionComponents/CollisionComponent.h" #include "Game/Components/TransformComponent.h" #include "Game/Systems/CollisionSystems/ellipsoidtrianglecollisionsystem.h" #include #include "Game/Systems/system.h" class EnvironmentCollisionDetectionSystem /*: public System*/ { public: EnvironmentCollisionDetectionSystem( std::map>& dynamic_gameobjects, std::map>& rigid_gameobjects, std::map>>& lootables, std::map& global_blackboard); void draw() ; void update(double deltaTime); void scrollEvent(double distance); void mousePosEvent(double xpos, double ypos) ; private: void detectCollisionWithEnvironment(double deltaTime); CollisionComponent* getCollisionComp(std::shared_ptr &go); TransformComponent* getTransform(std::shared_ptr &go); void collideDynamic(std::string go_name, std::shared_ptr go); std::map>& m_dynamic_gameobjects; std::unique_ptr m_ellipsoid_triangle_collision_system; //std::unique_ptr m_bvh_system; std::vector> all_rigid_go; std::map& m_global_blackboard; std::map>>& m_lootables; }; #endif // ENVIRONMENTCOLLISIONDETECTIONSYSTEM_H