summaryrefslogtreecommitdiffhomepage
path: root/Enemy.cpp
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2022-04-18 20:14:53 +0200
committerAki <please@ignore.pl>2022-04-18 20:15:05 +0200
commitbbec07ab3de333649d14a64fa01f7e8ad6d56c58 (patch)
tree06a4cb6e677388da4865075229e4db4090418b83 /Enemy.cpp
parenta5f91f4d56106112565239c283441432c443c4d2 (diff)
downloadbullethell2022-bbec07ab3de333649d14a64fa01f7e8ad6d56c58.zip
bullethell2022-bbec07ab3de333649d14a64fa01f7e8ad6d56c58.tar.gz
bullethell2022-bbec07ab3de333649d14a64fa01f7e8ad6d56c58.tar.bz2
Added naive enemy
This reminds me ECS a bit too much but I don't think I want to implement one right now...
Diffstat (limited to 'Enemy.cpp')
-rw-r--r--Enemy.cpp40
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);
+}