aboutsummaryrefslogtreecommitdiff
path: root/examples/basic/src/interfaces
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2022-05-06 18:23:42 +0200
committerHampusM <hampus@hampusmat.com>2022-05-06 18:23:55 +0200
commit3957dfb9361e864f6362e59655c885f52b39371f (patch)
tree5ef55a5eb418664b4a5c0d2d9328ff4ca99a74a7 /examples/basic/src/interfaces
parentd8ea3721d83254e91c5617d83f2aac5a897107fb (diff)
docs: add tagging to basic examplev0.1.3
Diffstat (limited to 'examples/basic/src/interfaces')
-rw-r--r--examples/basic/src/interfaces/enemy.hpp3
-rw-r--r--examples/basic/src/interfaces/enemy_creator.hpp15
2 files changed, 18 insertions, 0 deletions
diff --git a/examples/basic/src/interfaces/enemy.hpp b/examples/basic/src/interfaces/enemy.hpp
index 40b6818..5f49ca6 100644
--- a/examples/basic/src/interfaces/enemy.hpp
+++ b/examples/basic/src/interfaces/enemy.hpp
@@ -4,6 +4,9 @@
#include <memory>
+constexpr char SMALL_ENEMY_TAG[] = "small";
+constexpr char BIG_ENEMY_TAG[] = "big";
+
class IEnemy
{
public:
diff --git a/examples/basic/src/interfaces/enemy_creator.hpp b/examples/basic/src/interfaces/enemy_creator.hpp
new file mode 100644
index 0000000..820b636
--- /dev/null
+++ b/examples/basic/src/interfaces/enemy_creator.hpp
@@ -0,0 +1,15 @@
+#pragma once
+
+#include "interfaces/enemy.hpp"
+
+#include <memory>
+
+class IEnemyCreator
+{
+public:
+ virtual ~IEnemyCreator() = default;
+
+ virtual std::unique_ptr<IEnemy> create_small_enemy() noexcept = 0;
+
+ virtual std::unique_ptr<IEnemy> create_big_enemy() noexcept = 0;
+};