#include "EnemyFactory.h" #include #include #include "ConstantVelocity.h" #include "Enemy.h" #include "ExampleGenerator.h" #include "FallingAndOscillating.h" Enemy EnemyFactory::make_example( ConstantVelocityBullet::Vector& bullets, const float x, const float y, const float hold, const bool mirror) { auto position = std::make_shared(Vector2{x, y}); auto generator = std::make_unique(bullets); auto behaviour = std::make_unique(); if (mirror) { generator->m_direction *= -1; behaviour->set_phase(1.f); } Enemy enemy(position, std::move(generator), std::move(behaviour)); enemy.m_hold = hold; return enemy; }