#pragma once #include "Enemy.h" #include "Level.h" #include "Snake.h" #include "Spider.h" #include <vector> #include "SoundEffect.h" #include "ParticleManager.h" class EnemyManager { public: EnemyManager(); ~EnemyManager(); EnemyManager(const EnemyManager&) = delete; EnemyManager& operator=(const EnemyManager&) = delete; EnemyManager(EnemyManager&&) = delete; EnemyManager& operator=(EnemyManager&&) = delete; Enemy* AddEnemy(Enemy* pEnemy); void Update(float elapsedSec, const Level& level, Player* pPlayer, ParticleManager* pParticleManager); void Draw() const; void LoadEnemies(const Level::Info& levelInfo); size_t Size() const; std::vector<Enemy*>& GetEnemies(); private: std::vector<Enemy*> m_pEnemies; SoundEffect m_EnemyDieSFX; };