#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 unsigned int owner, const glm::vec3& fireFrom, const glm::vec2& direction, float bulletSpeed, float bulletDrop, glm::vec2 bulletSize, const unsigned& shaderID, const std::shared_ptr& sprite); void update(double deltaTime); void draw(); void hookEventManager(const std::shared_ptr& eventManager); const std::vector> getBullets() { return bullets; } private: std::vector> bullets; std::shared_ptr eventManager; }; #endif