From 78097b5496209b56cef9d7fc8d6c13e4c87e0eb1 Mon Sep 17 00:00:00 2001 From: Aki Date: Mon, 18 Apr 2022 23:50:31 +0200 Subject: Added simple behaviours for enemies I don't quite like FallingAndOscillating approach. Perhaps it will be better to just make it a list/vector in the enemy to allow for composition. --- Enemy.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'Enemy.h') diff --git a/Enemy.h b/Enemy.h index 0a8c429..30e4140 100644 --- a/Enemy.h +++ b/Enemy.h @@ -4,18 +4,25 @@ #include +#include "Behaviour.h" #include "Generator.h" class Enemy { public: - explicit Enemy(std::unique_ptr generator = {}); + 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; }; -- cgit v1.1