yupplemayham/YuppleMayham/gameplay/weapons/bulletmanager.h
Ethan Adams 6164458aa7 Bullets no longer collide with wielder.
Added new Event "OnBulletCollide" use this event to handle bullet damage effects etc.
2024-06-21 22:16:05 -04:00

38 lines
No EOL
825 B
C++

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