#pragma once #include #include #include "Behaviour.h" #include "Generator.h" class Enemy { public: friend class EnemyFactory; Enemy(); Enemy( std::shared_ptr position, std::shared_ptr generator, std::shared_ptr behaviour); void update(float dt); void draw(); bool gone() const; private: float m_hold; std::shared_ptr m_position; std::shared_ptr m_generator; std::shared_ptr m_behaviour; };