#ifndef _H_BULLETMANAGER_H #define _H_BULLETMANAGER_H #include #include #include class Bullet; class Sprite; class Shader; class Component; class Camera; class EventManager; class BulletManager { public: void addBullet(const std::shared_ptr& bullet); void addBullet(const glm::vec3& fireFrom, const glm::vec2& direction, float bulletSpeed, float bulletDrop, glm::vec2 bulletSize, const std::shared_ptr& shader, const std::shared_ptr& sprite); void update(float deltaTime); void render(const std::shared_ptr& camera); void hookEventManager(const std::shared_ptr& eventManager); private: std::vector> bullets; std::shared_ptr eventManager; }; #endif