summaryrefslogtreecommitdiffhomepage
path: root/Enemy.cpp
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2022-04-19 23:48:20 +0200
committerAki <please@ignore.pl>2022-04-19 23:48:20 +0200
commit5f0c15b2d3299ea210a78d54e9b10c3cb4266139 (patch)
tree137190dde6dcab1951301f1a2ac1db8481878f5a /Enemy.cpp
parent78097b5496209b56cef9d7fc8d6c13e4c87e0eb1 (diff)
downloadbullethell2022-5f0c15b2d3299ea210a78d54e9b10c3cb4266139.zip
bullethell2022-5f0c15b2d3299ea210a78d54e9b10c3cb4266139.tar.gz
bullethell2022-5f0c15b2d3299ea210a78d54e9b10c3cb4266139.tar.bz2
Created factory to handle enemy creation
Diffstat (limited to 'Enemy.cpp')
-rw-r--r--Enemy.cpp30
1 files changed, 7 insertions, 23 deletions
diff --git a/Enemy.cpp b/Enemy.cpp
index 1be3c76..a8e87a3 100644
--- a/Enemy.cpp
+++ b/Enemy.cpp
@@ -7,14 +7,15 @@
#include "Behaviour.h"
#include "Generator.h"
-#include "Static.h"
+#include "NullBehaviour.h"
+#include "NullGenerator.h"
-Enemy::Enemy(std::unique_ptr<Generator> generator) :
- Enemy(
- std::make_shared<Vector2>(),
- std::move(generator),
- std::make_unique<Static>())
+Enemy::Enemy() :
+ m_hold {0},
+ m_position {std::make_shared<Vector2>(Vector2{400.f, 300.f})},
+ m_generator {std::make_unique<NullGenerator>()},
+ m_behaviour {std::make_unique<NullBehaviour>()}
{
}
@@ -28,8 +29,6 @@ Enemy::Enemy(
m_generator {std::move(generator)},
m_behaviour {std::move(behaviour)}
{
- m_position->x = 400;
- m_position->y = 40;
m_generator->attach(m_position);
}
@@ -53,18 +52,3 @@ Enemy::draw()
return;
DrawCircle(m_position->x, m_position->y, 6, DARKGRAY);
}
-
-
-void
-Enemy::set_position(const float x, const float y)
-{
- m_position->x = x;
- m_position->y = y;
-}
-
-
-void
-Enemy::set_hold(const float seconds)
-{
- m_hold = seconds;
-}