SpelunkyRemake / EnemyManager.h
EnemyManager.h
Raw
#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;
};