#pragma once #include #include #include "Behaviour.h" #include "Generator.h" class Enemy { public: explicit Enemy(std::unique_ptr generator); Enemy( std::shared_ptr position, std::unique_ptr generator, std::unique_ptr behaviour); void update(float dt); void draw(); void set_position(float x, float y); void set_hold(float seconds); private: float m_hold; std::shared_ptr m_position; std::unique_ptr m_generator; std::unique_ptr m_behaviour; };