diff options
Diffstat (limited to 'Enemy.cpp')
-rw-r--r-- | Enemy.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Enemy.cpp b/Enemy.cpp new file mode 100644 index 0000000..7caea31 --- /dev/null +++ b/Enemy.cpp @@ -0,0 +1,40 @@ +#include "Enemy.h" + +#include <memory> +#include <utility> + +#include <raylib.h> + +#include "Generator.h" + + +Enemy::Enemy(std::unique_ptr<Generator> generator) : + m_hold {2}, + m_position {std::make_shared<Vector2>()}, + m_generator {std::move(generator)} +{ + m_position->x = 400; + m_position->y = 40; + m_generator->attach(m_position); +} + + +void +Enemy::update(const float dt) +{ + if (m_hold > 0) { + m_hold -= dt; + return; + } + if (m_generator) + m_generator->update(dt); +} + + +void +Enemy::draw() +{ + if (m_hold > 0) + return; + DrawCircle(m_position->x, m_position->y, 6, DARKGRAY); +} |